• Visit Rebornbuddy
  • Ultima - The Ultimate Combat Routine

    Discussion in 'Combat Routines' started by Endus, Nov 25, 2014.

    1. foxleeda

      foxleeda New Member

      Joined:
      Nov 5, 2016
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      I'm using RebornbuddyCN 1.0.243.0

      I want to make Ninja's Death Blosom can detect enemies nearby, In the smart target part:

      Code:
                  if (Ultima.UltSettings.SmartTarget)
                  {
                      if (await Huton()) return true;
                      if (await Shukuchi()) return true;   
      [B][COLOR="#FF0000"]                if (await udDeathBlossom()) return true;  [/COLOR][/B]
                      if (await ArmorCrush()) return true;
                      if (await ShadowFang()) return true;               
                      if (await DancingEdge()) return true;
                      if (await udAeolianEdge()) return true; 
                      if (await GustSlash()) return true;
                      if (await udKassatsu()) return true;
                      if (await InternalRelease()) return true;
                      if (await BloodForBlood()) return true;
                      if (await TrickAttack()) return true;
                      if (await SneakAttack()) return true;
                      // if (await Suiton()) return true;     
                      if (await FumaShuriken()) return true;
                      if (await Raiton()) return true;
                      // if (await Mutilate()) return true;
                      if (await udDreamWithinADream()) return true;
                      if (await Mug()) return true;
                      if (await Jugulate()) return true;
                      if (await Assassinate()) return true;
                      if (await Goad()) return true;
                      if (await Invigorate()) return true;  
                      if (await SpinningEdge()) return true;   
                      return await ThrowingDagger();
                  }
      
      In the method parts:

      Code:
              private async Task<bool> udDeathBlossom()
              {
                  if (
                      Helpers.EnemiesNearTarget(5) > 3
                      )
                  {
                      return await MySpells.DeathBlossom.Cast();
                  }
                  return false;
              }

      And it's just not work, but it will work in the mult target part:

      Code:
                  if (Ultima.UltSettings.MultiTarget)
                  {
                      if (await Doton()) return true;
                      if (await Invigorate()) return true;
                      if (await InternalRelease()) return true;
                      if (await BloodForBlood()) return true;
                      if (await Shukuchi()) return true;
                      if (await Mug()) return true;
                      if (await Jugulate()) return true;
                      if (await Assassinate()) return true;
                      if (await Goad()) return true;
      [B][COLOR="#FF0000"]                return await udDeathBlossom();[/COLOR][/B]
                  }
      Did I miss something? How can I get it work in smart target? Any suggestion would help, thanks!
       
      Last edited: Dec 27, 2016
    2. Endus

      Endus Community Developer

      Joined:
      Jul 9, 2012
      Messages:
      458
      Likes Received:
      6
      Trophy Points:
      18
      From what I can tell, it should work fine already (it's been a while since I tested it though). For SmartTarget, the code is specifically in the Spell.cs file under the AoE section though:

      Code:
                  #region AoE Check
      
      [B]            if (SpellType == SpellType.AoE &&
                      Ultima.UltSettings.SmartTarget)
                  {
                      var EnemyCount = Helpers.EnemyUnit.Count(eu => eu.Distance2D(target) - eu.CombatReach - target.CombatReach <= DataManager.GetSpellData(ID).Radius);[/B]
      
                      switch (Core.Player.CurrentJob)
                      {
                          case ClassJobType.Arcanist:
                          case ClassJobType.Scholar:
                          case ClassJobType.Summoner:
                              if (EnemyCount < 2)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Archer:
                          case ClassJobType.Bard:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Astrologian:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Conjurer:
                          case ClassJobType.WhiteMage:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.DarkKnight:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Gladiator:
                          case ClassJobType.Paladin:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Lancer:
                          case ClassJobType.Dragoon:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Machinist:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Marauder:
                          case ClassJobType.Warrior:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                          case ClassJobType.Pugilist:
                          case ClassJobType.Monk:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
      [B]                    case ClassJobType.Rogue:
                          case ClassJobType.Ninja:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;[/B]
                          case ClassJobType.Thaumaturge:
                          case ClassJobType.BlackMage:
                              if (EnemyCount < 3)
                              {
                                  return false;
                              }
                              break;
                      }
                  }
      It's set to use AoE if there are more than 3 enemies nearby by default for Rogue/Ninja. That's where you can change it if you want something different though. :cool:
       
    3. azertyjone

      azertyjone Member

      Joined:
      Jan 28, 2013
      Messages:
      66
      Likes Received:
      5
      Trophy Points:
      8
      Update Dragoon 3.0

      J'ai fait une amélioration du DRG.
      Il devrais travail correctement.
       

      Attached Files:

      Last edited: Jan 1, 2017
    4. foxleeda

      foxleeda New Member

      Joined:
      Nov 5, 2016
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Thanks a lot!
      I will look into it.
       
    5. Illindar

      Illindar New Member

      Joined:
      Sep 29, 2015
      Messages:
      15
      Likes Received:
      2
      Trophy Points:
      3
      I noticed that when an arcanist tries to cast outside of combat often you move before casting is completed. If I sort out a fix or a cause, I'll post here.
       
    6. azertyjone

      azertyjone Member

      Joined:
      Jan 28, 2013
      Messages:
      66
      Likes Received:
      5
      Trophy Points:
      8
      Drg, mnk, smn

      Toutes les modifications que j'ai pu apporter sur DRG, MNk ET SMN!
      Son dans se ficher! J'ai fait tout les test au niveau 60!
       

      Attached Files:

      Last edited: Jan 3, 2017
    7. Draod

      Draod Member

      Joined:
      Jan 15, 2010
      Messages:
      59
      Likes Received:
      0
      Trophy Points:
      6
      Tested the Monk part and works like a charm :) thx
       
    8. foxleeda

      foxleeda New Member

      Joined:
      Nov 5, 2016
      Messages:
      9
      Likes Received:
      0
      Trophy Points:
      0
      Is there any way I can change the Cycle Rotation mode? I want to set three keys to switch each method, for example:

      alt: switch to SMART TARGET
      shift: switch to SINGLE TARGET
      ctrl: switch to MULTI TARGET

      Is there any way I can do that, or which part of codes and files should I look through? Any suggestion would help, THX!
       
    9. azertyjone

      azertyjone Member

      Joined:
      Jan 28, 2013
      Messages:
      66
      Likes Received:
      5
      Trophy Points:
      8
      Black Mage 3.0

      J'ai corrigé certaines erreurs!
      Elle travaille très bien maintenant!

      Mise a jours!
       

      Attached Files:

      Last edited: Jan 12, 2017
    10. razzle

      razzle Member

      Joined:
      Nov 3, 2012
      Messages:
      188
      Likes Received:
      1
      Trophy Points:
      18
      the routine isn't working with version 465 of rebornbuddy
       
    11. Kaiser Macc

      Kaiser Macc New Member

      Joined:
      May 31, 2015
      Messages:
      26
      Likes Received:
      0
      Trophy Points:
      1
      Anyone else having trouble with ultima since the patch came out?
       
    12. exaccuss

      exaccuss Active Member

      Joined:
      Nov 10, 2013
      Messages:
      1,021
      Likes Received:
      6
      Trophy Points:
      38
      I knw of two other routines that also dont work. However, they said the next RB update should fix those issues. So i suggest you try then.
       
    13. ADR

      ADR New Member

      Joined:
      Sep 12, 2015
      Messages:
      36
      Likes Received:
      1
      Trophy Points:
      0
      biggest break in a while hopefully things get fixed
       
    14. blackcoeurl

      blackcoeurl New Member

      Joined:
      Aug 1, 2015
      Messages:
      14
      Likes Received:
      0
      Trophy Points:
      1
      Hey guys. Just a quick request. I've tried editing the files myself, but no luck. Any changes I've made, it just runs to the enemy, targets it, and does nothing. :(

      I'm farming some low-level mobs as 60 SMN, and using the default SMN routine, I use all my abilities as if I'm fighting something really tough. It looks a bit silly, is all. These are mobs that get two-shotted, so casting DoTs and buffs is a waste of time. I'm concerned it will make the fact that I'm botting very obvious.

      Could someone please kindly give me some pointers? I just want to have an alternate SMN profile that's incredibly 'dumbed down'! i.e. literally just casting Ruin II. Seems simple, but I can't seem to get it myself. Thanks in advance to anyone who can <Help me out!> :)
       
    15. Gale Talon

      Gale Talon New Member

      Joined:
      Dec 6, 2016
      Messages:
      4
      Likes Received:
      0
      Trophy Points:
      0
      So craaaazy question:

      Where do I stick this? I created a folder called combat routines and had it svn checkedout but im not sure this is it. In fact, I still see the Kupo! Title when I open combat behaviors. Can someone help me out here?
       
    16. exaccuss

      exaccuss Active Member

      Joined:
      Nov 10, 2013
      Messages:
      1,021
      Likes Received:
      6
      Trophy Points:
      38
      I havent used ultima for quite some time, but you should be able to dump the ultima folder inside your routines folder where you installed RB.
       
    17. zzi

      zzi Active Member

      Joined:
      Mar 10, 2016
      Messages:
      308
      Likes Received:
      47
      Trophy Points:
      28
      just loaded up ultima for the first time in a while.

      it seems like the summoners "summon" ability is bugged. combat routine doesn't wait long enough for the cast to finish.
       
    18. Gale Talon

      Gale Talon New Member

      Joined:
      Dec 6, 2016
      Messages:
      4
      Likes Received:
      0
      Trophy Points:
      0
      Ah I see. Is there another combat routine people use?
       
    19. Endus

      Endus Community Developer

      Joined:
      Jul 9, 2012
      Messages:
      458
      Likes Received:
      6
      Trophy Points:
      18
      Currently there's no HP/level check in place. If you want a quick/dirty solution go to UltimaCR\Rotations\Behaviors\Combat, open the .cs file for the job (Summoner), and change one of the 3 rotations to just a single spell. For instance, change:

      Code:
                  if (Ultima.UltSettings.MultiTarget)
                  {
                      if (await Deathflare()) return true;
                      if (await Tridisaster()) return true;
                      if (await RagingStrikes()) return true;
                      if (await BioII()) return true;
                      if (await Miasma()) return true;
                      if (await Bio()) return true;
                      if (await MiasmaII()) return true;
                      if (await Aetherflow()) return true;
                      if (await EnergyDrain()) return true;
                      if (await Contagion()) return true;
                      if (await Bane()) return true;
                      if (await Painflare()) return true;
                      if (await ShadowFlare()) return true;
                      if (await Rouse()) return true;
                      if (await Spur()) return true;
                      if (await DreadwyrmTrance()) return true;
                      if (await Enkindle()) return true;
                      if (await AerialSlash()) return true;
                      if (await RuinII()) return true;
                      if (await BlizzardII()) return true;
                      if (await RuinIII()) return true;
                      return await Ruin();
                  }
                  return false;
              }
      To this:

      Code:
                  if (Ultima.UltSettings.MultiTarget)
                  {
                      return await Ruin();
                  }
                  return false;
              }
      Then just switch to Multi-Target when you want to spam down stuff.

      Make a folder named "UltimaCR" in the routines folder and then do an SVN checkout to it. The path will look like this:

      Rebornbuddy\Routines\UltimaCR

      Hrm, first time I've heard about it (I haven't been in-game in a while). Next time I log on I'll check it out. Thanks for the heads up.

      A lot of people have switched to paid routines (the topic is forbidden on the forum though, so you won't see anyone mention them). After Ultima's source code was basically stolen and resold (to the tune of thousands of dollars) I stopped most development and have just been maintaining Ultima (making sure it doesn't break horribly). I've considered making a paid project myself but haven't had the time, although with the expansion coming soon I may need to make a decision before long. :rolleyes:
       
    20. zzi

      zzi Active Member

      Joined:
      Mar 10, 2016
      Messages:
      308
      Likes Received:
      47
      Trophy Points:
      28
      ugh. that sucks... I hope you get back to this the expansion is going to have a lot of people joining us i think ;)
       

    Share This Page