• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • FelMaster - the anti-button-mashing CC for LazyRaider/Combat bots

    Discussion in 'Archives' started by cowdude, Aug 20, 2011.

    1. cowdude

      cowdude Active Member

      Joined:
      Feb 17, 2010
      Messages:
      337
      Likes Received:
      27
      Trophy Points:
      28
      Hello guys,

      I'm extending my Felmaster warlock CC (see here) to an all-in-one CC.

      Its goal is to provide the best, most reactive CC to fit any single target dps boss fight. It's also designed to support PvP and Solo rotations.

      Why would you want to use it?
      • Easy to extend => expect a lot of content from community users
      • It's casting even faster than you could imagine.
      • It does not tolerate many mistakes, like casting a debuff twice on target
      • Allows user to implement Simcraft's rotation very easily, offering the BEST 'patchwerk-style' dps.
      • Can support PVP, PVE and Solo rotations
      • You can enable a 'bot mode', allowing it to handle targeting, mounting, facing, movement, LoS checks. Only useful it you want to use it with your grind, questing or achbuddy bots. Or anything else, actually.
      • Can manage your cooldowns for you
      • Creates two in-game macro that will tell FelMaster when you want to pop your cooldowns if you want to easily and efficiently manage them

      Supported classes/talents
      Warlock
      Affliction, Demonology and Destruction (PVE, simcraft-based)
      End-game Demonology for raiding

      Hunter
      Beast Mastery (PVE)

      Priest
      Shadow Priest (PVE, simcraft-based)

      Paladin
      Retribution (PVE)

      Death Knight
      Frost (PVE, PVP)
      Unholy (PVE, PVP)
      Blood (PVE)


      Install guide
      Do you have an SVN client and know how to use it?
      Code:
      svn checkout http://felmaster.googlecode.com/svn/trunk/ felmaster-read-only
      If you don't: You'll find a zip file below to install it for you.
      1. Download the zip file. It contains an SVN client and a script to install and update the custom class in one click.
      2. Extract the zip file content into your Honorbuddy folder. You should have a new file named "Update FelMaster CC.bat" at the same directory level as Honorbuddy.exe.
      3. Run "Update FelMaster CC.bat". Press any key when asked.
      4. Restart Honorbuddy, that's it.
      5. Whenever you want to check for new updates, just run this file again. It will update the custom class for you in seconds. You can for example run it each time you're about to launch Honorbuddy.

      Got any questions? Please write them here, I'm not reading my private messages.
       

      Attached Files:

      Last edited: Sep 6, 2011
    2. evilseed

      evilseed Member

      Joined:
      Jan 15, 2010
      Messages:
      129
      Likes Received:
      2
      Trophy Points:
      18
      Count me in :) How do I update this thing with my hunter additions? Send it to you?
       
    3. cowdude

      cowdude Active Member

      Joined:
      Feb 17, 2010
      Messages:
      337
      Likes Received:
      27
      Trophy Points:
      28
      yeah, just attach it here.
       
    4. amputations

      amputations Active Member

      Joined:
      Jan 6, 2011
      Messages:
      2,262
      Likes Received:
      11
      Trophy Points:
      38
      Awesome initiative! I hope you add a nice gui with alot of options and take the best features from the most successful ccs for this ^^
       
    5. xn3t0x

      xn3t0x New Member

      Joined:
      Jan 15, 2010
      Messages:
      187
      Likes Received:
      0
      Trophy Points:
      0
      TG Fury Warrior DO IT PLEASE! we don't have anything that's decent atm. The last great warrior cc was Lionheart.... I broke top 50 WOL using that CC.... with the new ones can't even get top 200... GG
       
    6. cowdude

      cowdude Active Member

      Joined:
      Feb 17, 2010
      Messages:
      337
      Likes Received:
      27
      Trophy Points:
      28
      There's no need for an advanced cockpit-like UI right now. Everyone is free to implement its own priority list. And there's not so much choice about it if you stick to the best PVE Raid rotation.
       
    7. evilseed

      evilseed Member

      Joined:
      Jan 15, 2010
      Messages:
      129
      Likes Received:
      2
      Trophy Points:
      18
      Testing right now, stay tuned :)
       
    8. handnavi

      handnavi Well-Known Member Buddy Store Developer

      Joined:
      Jan 15, 2010
      Messages:
      2,489
      Likes Received:
      59
      Trophy Points:
      48
      Ill add cat / bear. :)
       
    9. Beast

      Beast Member

      Joined:
      Apr 22, 2010
      Messages:
      618
      Likes Received:
      6
      Trophy Points:
      18
      Yo cowdude can you clear some of your private messeges?
       
    10. cowdude

      cowdude Active Member

      Joined:
      Feb 17, 2010
      Messages:
      337
      Likes Received:
      27
      Trophy Points:
      28
      How to add your own class rotation?

      How to add your own class rotation?

      Here's a little step by step guide in order to create your fancy talent specific rotation for your favourite class. It's recommended to have Microsoft Visual C# 2010 installed on your computer. You'll also need some C# knowledge, but nothing really serious.

      First, go to the CustomClasses/Felmaster/Classes folder and create a new folder for the class you want to play with (Ex. Classes/DeathKnight). If it does already exists, cool. You don't need to remove it, leave it as it is.

      IMPORTANT!!! you CANNOT see rotations made for other classes or other talent branches. Therefore don't even think about coding a frost mage rotation if you don't have a frost mage, it won't work. Obvious, isn't it?

      Now, you want to create the only single file you'll be playing with in this guide. Let's say I want to implement a frost mage talent that does nothing but spam frostbolt (yeah, I know it should be arcane-related when you're saying 'mage' and 'spam' in the same sentence). I have previously created my "Classes/Mage/" folder. I'm now creating a new file in this folder, named "StupidMage.cs" for the purpose of this example.

      Edit this file (Classes/Mage/StupidMage.cs) and copy/paste the following skeleton:
      Code:
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using TreeSharp;
      
      namespace FelMaster.Classes.XXX_CLASS_NAME
      {
          class XXX_ROTATIONCLASS_NAME : TalentBase
          {
              public override string Name
              {
                  get { return "XXX_NAME"; }
              }
      
              public override string KeySpell
              {
      			//Example: "Unstable Affliction" for affliction warlocks.
                  get { return "XXX_TALENT_SPELL"; }
              }
      
              public override Composite SingleRotation
              {
                  get {
                      return new PrioritySelector(
                          //XXX put your rotation here!
                      );
                  }
              }
      
              public override Composite Buffs
              {
                  get
                  {
                      return new PrioritySelector(
                          //XXX put your buff rotation here!
                      );
                  }
              }
      
              public override Composite PVPRotation
              {
                  get { throw new NotImplementedException(); } //leave it as it is, unless you want to code a PVP specific rotation
              }
      
              public override Composite PVERotation
              {
                  get { throw new NotImplementedException(); } //leave it as it is, unless you want to code a Raid/Party specific rotation
              }
          }
      }
      
      It's not working yet! You have to get rid of all the 'XXX' tags first. Here's the list of those, and what to do for each of them:

      XXX_CLASS_NAME: The wow class name (Druid, Warlock, Warrior, DeathKnight, ...). In this case, replace it with Mage.
      XXX_ROTATIONCLASS_NAME: Replace this with the name of your file, without the '.cs' extension. In this case, StupidMage.
      XXX_NAME: Just give a nice name to your rotation. Mine is "Frost stupid mage!".
      XXX_TALENT_SPELL: Replace this with the unique spell/skill name you get from this talent branch. In this case, frost mages gain the unique water elemental, hence I'm replacing the tag with "Summon Water Elemental". Note that this CC relies on english spell names only. "summon water elemental" won't work, because the spell has some uppercase characters in the game.

      Great, now we're going to do what this CC is supposed to do: spam frostbolts. You can define up to three combat rotations in a single file:
      single rotation (grind bot, archbuddy, or simply combat bot + dummy testing)
      pve rotation (used when in party or raid)
      pvp rotation (battlegrounds only)

      Let's work on the single rotation first, because you may not want to try this CC on a Zul'Aman timer rush... Locate this line:
      Code:
      //XXX put your rotation here!
      Now replace it with this single line:
      Code:
      SC.CastSpell("Frostbolt", a => true, "Freeze, buddy!")
      If your CC is not supposed to run a frost mage, feel free to replace Frostbolt with any cool spell you want to spam on cooldown. It can be whatever you want, as long as your toon know it.

      Great. I'm happy to tell you that you're done. Save the file. You can now close HonorBuddy if it was already running. Launch the bot, and click on the 'class config' button once it's ready. If everything went well, you should see a custom class selection popup. Select FelMaster, then click on the 'change class rotation' button. Here you should see your own rotation name, in my case 'Frost Stupid Mage!'.

      If you don't see your rotation here, let me repeat this again: you CANNOT see rotations made for other classes or other talent branches. So yeah, my stupid mage example will only show up if I'm logged on my frost mage toon. Won't work on my warrior. Obvious, isn't it?

      If you forgot to read the damn 'important' bold paragraph and you did a frost mage rotation without having one, well... just start again.

      If everything is fine, just click on your CC name. Then select the Combat/Heal bot and start Honorbuddy. You'll need to engage combat in order to trigger the...combat behavior. So, just go hit something, like a target dummy.

      You should now see your toon spamming over and over the spell you added in your rotation, in my case frostbolts. If it does not work, you surely misspelled the spell name, or even worse, your toon does not know how to cast it.

      Still following and everything's working ? Great. You may now start adding some new spells to your rotation. Let me explain the idea:

      This isn't actually a rotation, but a priority list. The main difference is the following:

      Rotation: Cast Frostbolt, then Fireball, then Ice Lance. Repeat forever.

      Priority list:
      Cast Frostbolt if I have buff X.
      If this is not the case (or frostbolt cannot be cast for some reason), Cast Fireball if my target has debuff Y.
      If this is not the case (or fireball cannot be cast), just cast Ice Lance. If I cannot cast Ice Lance, I'll do nothing.

      Let me write the second example s.t. it would work with your CC:

      Code:
      SC.CastSpell("Frostbolt", a => SC.PlayerHasBuff("X"), "let's cast a frostbolt"),
      SC.CastSpell("Fireball", a => SC.TargetHasDebuff("Y"), "let's cast a fireball on this guy!"),
      SC.CastSpell("Ice Lance", a => true, "Ice Lance!")
      [CODE]
      
      You'll find some other interesting alternatives to CastSpell, allowing you to handle many horrible, clunky rotations easily. Here are a part of them:
      [URL="http://www.thebuddyforum.com/honorbuddy-forum/classes/warlock/29577-felmaster-static-pve-destruction-cc-based-simcrafts-script-7.html#post344029"]http://www.thebuddyforum.com/honorbuddy-forum/classes/warlock/29577-felmaster-static-pve-destruction-cc-based-simcrafts-script-7.html#post344029[/URL]
      
      You can also add a buff rotation. That one is run everytime, even not in combat. Useful to make sure you're buffed correctly, you got your pet, etc. Check out the available functions related to buffs.
      
      That's it for now, thanks for reading. :)
       
      Last edited: Aug 25, 2011
    11. d4rk99

      d4rk99 New Member

      Joined:
      Jan 25, 2011
      Messages:
      13
      Likes Received:
      0
      Trophy Points:
      0
      Ret Paladin

      I made one for ret paladin using the simcraft rotation.

      Its will not take Golemblood Pot but you can remove the "//" before SC.RunMacroText it should take the pot when you have the buff Bloodlust/Heroism.(not tested)

      Its will cast King but you can change to Might. Change the buff to this.
      Code:
      SC.CastBuff("Seal of Truth", a => true, "Seal of Truth"),
      //SC.CastBuff("Blessing of Kings", a => true, "Blessing of Kings")
      SC.CastBuff("Blessing of Might", a => true, "Blessing of Might")
       
    12. d4rk99

      d4rk99 New Member

      Joined:
      Jan 25, 2011
      Messages:
      13
      Likes Received:
      0
      Trophy Points:
      0
      hunter bm/ ret paly update

      Update the Ret Paladin and i also made Beast Mastery rotation.
       

      Attached Files:

    13. Ruinit

      Ruinit Member

      Joined:
      Nov 1, 2010
      Messages:
      992
      Likes Received:
      4
      Trophy Points:
      18
      Sweet, maybe we can get some working cc's from this! Actually I am leveling a Feral Cat right now at lvl40 if you can slap together a cat I will run it as I have tried all the others and they won't prowl,pounce etc.


      Wow over my head already, I have no idea how to make prowl,pounce work and I don't see anything about combo points for feral... guess I will have to wait for someone smarter than me with this stuff :(
       
      Last edited: Aug 22, 2011
    14. cowdude

      cowdude Active Member

      Joined:
      Feb 17, 2010
      Messages:
      337
      Likes Received:
      27
      Trophy Points:
      28
      Thanks, adding them today with my shadow priest implementation...
       
    15. Ruinit

      Ruinit Member

      Joined:
      Nov 1, 2010
      Messages:
      992
      Likes Received:
      4
      Trophy Points:
      18
      You get that cat working yet?
       
    16. princedomi

      princedomi Member

      Joined:
      Nov 6, 2010
      Messages:
      56
      Likes Received:
      0
      Trophy Points:
      6
      Smn add Warrior for Smf and TG plz
       
    17. Nuok

      Nuok Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      975
      Likes Received:
      28
      Trophy Points:
      28
      Any chance you could do a SVN of this always helpfull for developing, ill write a few mage ones later to see how it goes. Maybe a prot warrior one too.
       
    18. furywarrior

      furywarrior New Member

      Joined:
      Feb 18, 2010
      Messages:
      99
      Likes Received:
      0
      Trophy Points:
      0
      WTB TG Fury Warrior CC!

      PST!

      hehe

      On a serious note, great work, can't wait or it!
       
    19. Ruinit

      Ruinit Member

      Joined:
      Nov 1, 2010
      Messages:
      992
      Likes Received:
      4
      Trophy Points:
      18
      Cowdude,

      Working on fury warrior I have a couple questions. What would it look like to cast "Heroic Strike if Rage is above 65"?
      Also how can "Heroic Leap" and "Charge" be handled for questing?

      Thanks in advance. This is what I needed something I could figure out how to make my own cc's .... lol
       
    20. Nuok

      Nuok Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      975
      Likes Received:
      28
      Trophy Points:
      28
      Doing some debugging on my mage you need a !Me.IsCasting added to CastSpell and Cast buff or it will clip any channeled spell like evocation and arcane missiles

      Also if possible could you change use trinkets so instead of by id it just uses them if usable and if called in the behavior?
       
      Last edited: Aug 23, 2011

    Share This Page