What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Fight 4 Me - Daggerspell

Mordark

Community Developer
Joined
Mar 31, 2014
Messages
291
Reaction score
4
I've dabbled a bit with a Daggerspell and thought I'd share what I have so far.

This plugin will:
  • never move on its own
  • never loot any mob(s)
  • clear the target if it did NOT drop loot
  • cast combos
  • cast the Bubble Trap Combo (detects Bubble Trap Buff)
  • Play Dead for 30 seconds if HP goes below 33%
  • heal if HP goes below 75% using Enervate and Earthen Grip

Build:
ArcheAge Builder - Arche-Base


The Gladiator Edition, will fight anyone/anything NOT in your party.

Standard Edition:
Code:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
 
namespace Follower
{
    public class Fight4Me : Core
    {
        public static string GetPluginAuthor()
        {
            return "Mordark";
        }
 
        public static string GetPluginVersion()
        {
            return "0.1.0";
        }
 
        public static string GetPluginDescription()
        {
            return "Fight4Me for Daggerspells";
        }
        public void UseSkillAndWait(string skillName, bool selfTarget = false)
        {
            while (me.isCasting || me.isGlobalCooldown)
            {
                Thread.Sleep(50);
            }   
            
            if (!UseSkill(skillName, false, selfTarget))
            {
                while (me.isCasting || me.isGlobalCooldown)
                {
                    Thread.Sleep(50);
                }
            }    
            while (getBuff("No Fight") != null)
            {
                Thread.Sleep(50);
            }
        } 
 
        public void PluginRun()
        {
            while (true)
            {       
                while (me.target == null)
                {
                    Thread.Sleep(50);
                }
                
                while (me.target != null && dist(me.target) < 25)
                {
                   if(isAttackable(me.target) && isEnemy(me.target))
                   {        
                       do
                       {
                    if (angle(me.target, me) > 45 && angle(me.target, me) < 315)
                    {
                        TurnDirectly(me.target);
                    }                     
                    
 
                    if(hpp() < 33 && isSkillLearned("Play Dead") && skillCooldown("Play Dead") == 0)
                    {
                        Thread.Sleep(500);
                        UseSkillAndWait("Play Dead");
                        CancelTarget();
                        Log("Casting Play Dead! Going to play it safe for 30s. Time: " + DateTime.Now.ToString("h:mm:ss tt"));
                        Thread.Sleep(30000);
                        Log("Resuming, the time is: " + DateTime.Now.ToString("h:mm:ss tt"));
                    }      
                    if(hpp(me) <= 75 && skillCooldown("Enervate") == 0 && skillCooldown("Earthen Grip") == 0)
                    {
                        Thread.Sleep(1000);
                        UseSkillAndWait("Enervate");
                        Thread.Sleep(100);
                        UseSkillAndWait("Earthen Grip");
                        Thread.Sleep(50);
                    }   

                    if(dist(me.target) <= 3 && skillCooldown("Overwhelm") == 0 && skillCooldown("Drop Back") == 0)
                    {
                        UseSkillAndWait("Overwhelm");
                        Log("Used: Overwhelm");
                        Thread.Sleep(50); 
                        if(me.target != null && isAlive(me.target))
                        {
                            UseSkillAndWait("Freezing Earth");
                            Log("Used: Freezing Earth");   
                            Thread.Sleep(50);
                        }
                        if(me.target != null && isAlive(me.target))
                        {
                            UseSkillAndWait("Drop Back");
                            Log("Used: Drop Back");   
                            Thread.Sleep(50);
                        }    
                        
                         if(getBuff("drop back") != null && skillCooldown("Enervate") == 0 && skillCooldown("Earthen Grip") == 0)
                         {
                            UseSkillAndWait("Enervate");
                            Thread.Sleep(50);
                            UseSkillAndWait("Earthen Grip");
                            Thread.Sleep(50);
                         }
                        
                    }                    
                    
                    if (skillCooldown("Freezing Arrow") == 0)
                    {
                        UseSkillAndWait("Freezing Arrow");
                        Log("Used: Freezing Arrow");
                        Thread.Sleep(100);
                    }                    
                    
                   if (skillCooldown("Flamebolt") == 0)
                    {
                        UseSkillAndWait("Flamebolt");
                        Log("Used: Flamebolt");
                        Thread.Sleep(100);
                    }

                    if (skillCooldown("Bubble Trap") == 0 && skillCooldown("Flamebolt") == 0 && dist(me.target) <= 20)
                        {
                            UseSkillAndWait("Flamebolt");
                            Thread.Sleep(10);
                            Log("Used: BT Flamebolt");
                        
                            if (me.target != null && isAlive(me.target) && skillCooldown("Bubble Trap") == 0 && dist(me.target) <= 20)
                                {
                                    UseSkillAndWait("Bubble Trap");
                                    Log("Used: Bubble Trap Combo");
                                        
                                    if (me.target != null && isAlive(me.target) && skillCooldown("Arc Lightning") == 0 && skillCooldown("Bubble Trap") != 0 && getBuff(me.target, "Bubble Trap") != null)
                                    {                    
                                        Thread.Sleep(7000);
                                        UseSkillAndWait("Arc Lightning");    
                                        Log("Used: Arc Lightning");
                                        Thread.Sleep(100);
                                    }   
                                }                        
                        }                  
                }while(me.target != null && isAlive(me.target));
                    if (me.target != null && !isAlive(me.target) && !me.target.dropAvailable)
                    {
                        CancelTarget();
                    }
                }
                }
            }
        }
    }
}



Gladiator Edition:
Code:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;
using System.Collections.Generic;
using System.Linq;
using ArcheBuddy.Bot.Classes;
 
namespace Follower
{
    public class Fight4Me : Core
    {
        public static string GetPluginAuthor()
        {
            return "Mordark";
        }
 
        public static string GetPluginVersion()
        {
            return "0.1.0";
        }
 
        public static string GetPluginDescription()
        {
            return "Fight4Me for Daggerspells";
        }
        public void UseSkillAndWait(string skillName, bool selfTarget = false)
        {
            while (me.isCasting || me.isGlobalCooldown)
            {
                Thread.Sleep(50);
            }   
            
            if (!UseSkill(skillName, false, selfTarget))
            {
                while (me.isCasting || me.isGlobalCooldown)
                {
                    Thread.Sleep(50);
                }
            }    
            while (getBuff("No Fight") != null)
            {
                Thread.Sleep(50);
            }
        } 
 
        public void PluginRun()
        {
            while (true)
            {       
                while (me.target == null)
                {
                    Thread.Sleep(50);
                }
                
                while (me.target != null && dist(me.target) < 25)
                {
                   if(!isInMyPartyGroup(me.target))
                   {        
                       do
                       {
                    if (angle(me.target, me) > 45 && angle(me.target, me) < 315)
                    {
                        TurnDirectly(me.target);
                    }                     
                    
 
                    if(hpp() < 33 && isSkillLearned("Play Dead") && skillCooldown("Play Dead") == 0)
                    {
                        Thread.Sleep(500);
                        UseSkillAndWait("Play Dead");
                        CancelTarget();
                        Log("Casting Play Dead! Going to play it safe for 30s. Time: " + DateTime.Now.ToString("h:mm:ss tt"));
                        Thread.Sleep(30000);
                        Log("Resuming, the time is: " + DateTime.Now.ToString("h:mm:ss tt"));
                    }      
                    if(hpp(me) <= 75 && skillCooldown("Enervate") == 0 && skillCooldown("Earthen Grip") == 0)
                    {
                        Thread.Sleep(1000);
                        UseSkillAndWait("Enervate");
                        Thread.Sleep(100);
                        UseSkillAndWait("Earthen Grip");
                        Thread.Sleep(50);
                    }   

                    if(dist(me.target) <= 3 && skillCooldown("Overwhelm") == 0 && skillCooldown("Drop Back") == 0)
                    {
                        UseSkillAndWait("Overwhelm");
                        Log("Used: Overwhelm");
                        Thread.Sleep(50); 
                        if(me.target != null && isAlive(me.target))
                        {
                            UseSkillAndWait("Freezing Earth");
                            Log("Used: Freezing Earth");   
                            Thread.Sleep(50);
                        }
                        if(me.target != null && isAlive(me.target))
                        {
                            UseSkillAndWait("Drop Back");
                            Log("Used: Drop Back");   
                            Thread.Sleep(50);
                        }    
                        
                         if(getBuff("drop back") != null && skillCooldown("Enervate") == 0 && skillCooldown("Earthen Grip") == 0)
                         {
                            UseSkillAndWait("Enervate");
                            Thread.Sleep(50);
                            UseSkillAndWait("Earthen Grip");
                            Thread.Sleep(50);
                         }
                        
                    }                    
                    
                    if (skillCooldown("Freezing Arrow") == 0)
                    {
                        UseSkillAndWait("Freezing Arrow");
                        Log("Used: Freezing Arrow");
                        Thread.Sleep(100);
                    }                    
                    
                   if (skillCooldown("Flamebolt") == 0)
                    {
                        UseSkillAndWait("Flamebolt");
                        Log("Used: Flamebolt");
                        Thread.Sleep(100);
                    }

                    if (skillCooldown("Bubble Trap") == 0 && skillCooldown("Flamebolt") == 0 && dist(me.target) <= 20)
                        {
                            UseSkillAndWait("Flamebolt");
                            Thread.Sleep(10);
                            Log("Used: BT Flamebolt");
                        
                            if (me.target != null && isAlive(me.target) && skillCooldown("Bubble Trap") == 0 && dist(me.target) <= 20)
                                {
                                    UseSkillAndWait("Bubble Trap");
                                    Log("Used: Bubble Trap Combo");
                                        
                                    if (me.target != null && isAlive(me.target) && skillCooldown("Arc Lightning") == 0 && skillCooldown("Bubble Trap") != 0 && getBuff(me.target, "Bubble Trap") != null)
                                    {                    
                                        Thread.Sleep(7000);
                                        UseSkillAndWait("Arc Lightning");    
                                        Log("Used: Arc Lightning");
                                        Thread.Sleep(100);
                                    }   
                                }                        
                        }                  
                }while(me.target != null && isAlive(me.target));
                    if (me.target != null && !isAlive(me.target) && !me.target.dropAvailable)
                    {
                        CancelTarget();
                    }
                }
                }
            }
        }
    }
}

Tips are greatly appreciated:
 
Last edited:
Add check to see if bubble trap worked or not. if not continue rotation. no need to wait for arc lightning to fire if bubble trap combo did not work

Added and updated!
 
Trying to compile the plugin and get error CS0101: The namespace 'Follower' already contains a definition for 'Fight4Me'
 
Trying to compile the plugin and get error CS0101: The namespace 'Follower' already contains a definition for 'Fight4Me'

Sounds like you might have put them both in the same file, or both plugins in the same folder.
Each plugin is meant to be pasted into its own file and compiled.
 
Why do you have the play dead bit if you don´t have play dead in your build?

It seems to me that perhaps there are better builds for Daggerspell.

While we are talking about builds, is there a chance you could tweak this code to work for an Arcanist? I feel with the CC Watch plug-in (auto casts aura/witch cc breaks) and a "fight for me" arcanist script it would be a fantastic combo for Archbuddy in both PVE and PVP (ie... I´d donate if you work on one for me ^_^)
 
Why do you have the play dead bit if you don´t have play dead in your build?

It seems to me that perhaps there are better builds for Daggerspell.

While we are talking about builds, is there a chance you could tweak this code to work for an Arcanist? I feel with the CC Watch plug-in (auto casts aura/witch cc breaks) and a "fight for me" arcanist script it would be a fantastic combo for Archbuddy in both PVE and PVP (ie... I´d donate if you work on one for me ^_^)

I've lost count, but from the range of 6 to 10 people have promised me a donation if I would do work for them. All of these said promises for a donation have fallen through.
I no longer accept requests for donations.

I am currently working on a plugin for the store. As such I am leaving this plugin alone as a free plugin for those who want it.

I have re-checked the plugin and the link to the build. Play dead is in description, in the plugin, and highlighted green in the AA Builder.

P.S. I will accept a suggestion to add an Arcanist rotation to the plugin for the store, but I will not be releasing a free version of it.
 
Last edited:
How about we pay to get into beta ;) I will be up for that.

I've lost count, but from the range of 6 to 10 people have promised me a donation if I would do work for them. All of these said promises for a donation have fallen through.
I no longer accept requests for donations.

I am currently working on a plugin for the store. As such I am leaving this plugin alone as a free plugin for those who want it.

I have re-checked the plugin and the link to the build. Play dead is in description, in the plugin, and highlighted green in the AA Builder.

P.S. I will accept a suggestion to add an Arcanist rotation to the plugin for the store, but I will not be releasing a free version of it.
 
The gladiator edition will fight anything that isn't in your party. Be careful with it.
The standard edition will only fight NPCs.

I'm currently making a plugin for the store with much better logic and spell routines.
 
Back
Top