will look into thisTried the guardian vigilance routine and couldn't recognize my tree. Level 28 guardian vigilance
"No matching spec - check the MySpec value (at GuardianVigilance against the desired SkillTree value."
Soooo how yah coming along on getting it to heal after combat? Its probably the cause of 98% of my deaths xD
Tried the guardian vigilance routine and couldn't recognize my tree. Level 28 guardian vigilance
"No matching spec - check the MySpec value (at GuardianVigilance against the desired SkillTree value."
I would just use older build with merc helper file since I can't get it to work correctly either. Everytime it will just not activate movment and sit there. I currently using older build than the one adude posted since I refuse to let my guy die! Adude let me know where you are on this so I can take a look at what you have done/fix it. Or we may just need to go back to how it used to be and not mess with it. I didn't write this code from the ground up and have been only working with it a few days.
Here is link on SVN to older build if needed: https://subversion.assembla.com/svn...Can't Fight aDude 2.0/Old build with Healing/
We are currently working on either a fix or just going back to how it was.
Can people give me feedback on gunslinger? I can't get mine to go into cover like my sniper does and currently working on profile fix. If any one has requests on what classes they want fixed or done next please let me know.
do the CRs have attacks that target the ground like Death from Above, Mortar Volley, Force Storm ?
//***Generel***
Spell.Cast("Determination", castWhen => BuddyTor.Me.IsStunned),//Insignia
Spell.Cast("Vent Heat", ret => BuddyTor.Me, ret => BuddyTor.Me.ResourceStat < 60),//-50 Heat
//**Offensive**
//Spell.CastOnGround("Death from Above",castWhen => BuddyTor.Me.ResourceStat <= 23, BuddyTor.Me.CurrentTarget.Position),
Spell.Cast("Rail Shot", castWhen => BuddyTor.Me.CurrentTarget.IsStunned),
Spell.Cast("Explosive Dart", castWhen => Helpers.Targets.Count() >= 2 && BuddyTor.Me.ResourceStat >= 75),
Spell.Cast("Unload", castWhen => BuddyTor.Me.ResourceStat >= 75),//+16 Heat/15s CD
Spell.Cast("Rocket Punch", castWhen => BuddyTor.Me.ResourceStat >= 90),//Melee
Spell.Cast("Missile Blast", castWhen => BuddyTor.Me.ResourceStat >= 75),//+25 Heat
Spell.Cast("Flame Thrower", castWhen => BuddyTor.Me.ResourceStat <= 23 && Helpers.Targets.Count(t => t.Distance <= 1) >= 3),
Spell.Cast("Rapid Shots"),
If adude doesn't fix this I will later in day. I don't want to take all his fun away from him now!
Lmk if u work on this, looking forward to leveling my guardian
ok here is the update......... i fixed healing!and learned a load more C#
also i decided to do what Joe did and use the MercHelper file i see what he has done and why he has done it and will contiune to work along those lines
but i must say i have to do some mothers day stuff so i will update tomorrow and i also have to check if the reload or recharge bug is fixed in m new build so please bare with me i am trying my best!![]()
public static void ScrapperCombat()
{
WaitForCast();
datLCL = DateTime.Now;
Thread.Sleep(100);
LoadVars();
if (!TargetInCombat()) return;
MercBuffSelf("Lucky Shots", true);
MoveTo(CT, 2.8f);
if (!IG && BuddyTor.Me.IsMoving) StopMoving();
if (CT == null && Me.CurrentTarget != null) CT = Me.CurrentTarget;
if (CT == null) { Logging.Write("No target. Exiting."); return; }
if (CT == Comp) { BuddyTor.Me.ClearTarget(); return; }
if (!CT.InCombat && CT.HealthPercent > .2f)
{
MercCast("Fletchette Round");
MercCast("Stealth");
while (CT.Distance > .15f) MoveTo(CT, .15f);
MercCast("Fletchette Round");
MercCast("Shoot First", CT.Distance <= .20f);
}
if (MercCast("Escape", Me.IsStunned)) return;
MercCast("Crouch", Me, !MyBuffs.Contains("Crouch"));
MoveTo(CT, .50f, "Flurry of Bolts");
if (MercCast("Fletchette Round", !CTDebuffs.Contains("Fletchette Round"))) return;
if (MercCast("Quickdraw")) return;
if (MercCast("Headshot")) return;
if (MercCast("Flourish Shot")) return;
//if (HP <= 70) MercCast("Flurry of Bolts"); // Force a Rifle-Shot on healing so we get at least a LITTLE DAMAGE in - may help with a Heals Catch-22
if (MercCast("Defense Screen", Me, !MyBuffs.Contains("Defense Screen"))) return;
if (MercCast("Heroic Moment: All In", Me, HP <= 25)) return;
//if (MercCast("Evasion", Me, HP <= 30)) return;
//if (MercCast("Kolto Probe", Me, HP <= 70 && !MyBuffs.Contains("Kolto Probe"))) return;
//if (MercCast("Surgical Probe", HP <= 70 && MyBuffs.Contains("Tactical Advantage"))) return;
if (MercCast("Underworld Medicine", Me, HP <= 60)) return;
if (MercCast("Kolto Pack", Me, HP <= 70)) return;
if (MercCast("Cool Head", EP <= 20)) return;
if (MercCast("Pugnacity", EP <= 60 && MyBuffs.Contains("Upper Hand"))) return;
if (MercCast("Pugnacity", Me, RS <= 20)) return;
if (MercCast("Thermal Grenade", !IG)) return;
if (TD <= .50f)
{
if (MercCast("XS Freighter Flyby", StrongOrGreater(CT))) return;
if (MercCast("Blaster Whip")) return;
if (MercCast("Whirling Blow", MyBuffs.Contains("Upper Hand"))) return;
if (MercCast("Blaster Volley", MyBuffs.Contains("Upper Hand") && StrongOrGreater(CT))) return;
if (MercCast("Cheap Shot")) return;
if (MercCast("Tendon Blast")) return;
}
if (MercCast("Distraction", (IG && HP <= 50) || (StrongOrGreater(CT) && TC))) return;
if (MercCast("Flash Grenade", TD <= .50f)) return;
if (MercCast("Dirty Kick", StrongOrGreater(CT) && TC)) return;
if (MercCast("Thermal Grenade", !IG && StrongOrGreater(CT) && TC)) return;
if (MercCast("Wounding Shots", MyBuffs.Contains("Upper Hand") && TWR10 >= 2)) return;
if (MedicineCheckCompHealth()) return;
if (MercCast("Flurry of Bolts", RS <= 30 && (StrongOrGreater(CT) || IG))) return;
if (MercCast("Shrap Bomb")) return;
if (MercCast("Dirty Kick", StrongOrGreater(CT))) return;
if (MercCast("Headshot", CT.IsStunned)) return;
if (MercCast("Sabotage Charge")) return;
if (MercCast("Hemorrhaging Blast")) return;
if (MercCast("Vital Shot", !CTDebuffs.Contains("Bleeding (Tech)"))) return;
if (MercCast("Flash Grenade")) return;
if (MercCast("Blaster Volley", TWR10 >= 3)) return;
if (MercCast("Charged Burst")) return;
if (MercCast("Flurry of Bolts")) return;
}
public static void DirtyFightingCombat()
{
WaitForCast();
datLCL = DateTime.Now;
Thread.Sleep(100);
LoadVars();
if (!TargetInCombat()) return;
MercBuffSelf("Lucky Shots", true);
MoveTo(CT, 2.8f);
if (!IG && BuddyTor.Me.IsMoving) StopMoving();
if (CT == null && Me.CurrentTarget != null) CT = Me.CurrentTarget;
if (CT == null) { Logging.Write("No target. Exiting."); return; }
if (CT == Comp) { BuddyTor.Me.ClearTarget(); return; }
if (MercCast("Escape", Me.IsStunned)) return;
MercCast("Crouch", Me, !Me.IsCoverAffected);
if (!CT.InCombat)
{
Thread.Sleep(600);
MercCast("Charged Burst");
}
//MoveTo(CT, .50f, "Flurry of Bolts");
if (MercCast("Distraction", (IG && HP <= 50) || (StrongOrGreater(CT) && TC))) return;
if (MercCast("Flash Grenade", TD <= .50f)) return;
if (MercCast("Blaster Volley", MyBuffs.Contains("Upper Hand") && StrongOrGreater(CT) && TD <= .50f)) return;
if (MercCast("Dirty Kick", StrongOrGreater(CT) && TC)) return;
if (MercCast("Thermal Grenade", StrongOrGreater(CT) && TC)) return;
//if (HP <= 70) MercCast("Flurry of Bolts"); // Force a Rifle-Shot on healing so we get at least a LITTLE DAMAGE in - may help with a Heals Catch-22
if (MercCast("Defense Screen", Me, !MyBuffs.Contains("Defense Screen"))) return;
if (MercCast("Heroic Moment: All In", Me, HP <= 25)) return;
//if (MercCast("Evasion", Me, HP <= 30)) return;
//if (MercCast("Kolto Probe", Me, HP <= 70 && !MyBuffs.Contains("Kolto Probe"))) return;
//if (MercCast("Surgical Probe", HP <= 70 && MyBuffs.Contains("Tactical Advantage"))) return;
if (MercCast("Underworld Medicine", Me, HP <= 60)) return;
if (MercCast("Kolto Pack", Me, HP <= 70)) return;
if (MercCast("Cool Head", EP <= 20)) return;
if (MercCast("Pugnacity", EP <= 60 && MyBuffs.Contains("Upper Hand"))) return;
if (MercCast("Wounding Shots", MyBuffs.Contains("Upper Hand") && TWR10 >= 2)) return;
if (MercCast("Whirling Blow", TD <= .50f)) return;
if (MercCast("Cheap Shot", TD <= .50f)) return;
if (MercCast("Blaster Whip", TD <= .50f)) return;
if (MercCast("Tendon Blast", TD <= 1.0f)) return;
if (MedicineCheckCompHealth()) return;
if (MercCast("Flurry of Bolts", RS <= 30 && (StrongOrGreater(CT) || IG))) return;
if (MercCast("Dirty Kick", StrongOrGreater(CT))) return;
if (MercCast("Cheap Shot", CT.IsStunned)) return;
if (MercCast("Shrap Bomb")) return;
if (MercCast("Thermal Grenade", !IG)) return;
if (MercCast("Sabotage Charge")) return;
if (MercCast("Hemorrhaging Blast")) return;
if (MercCast("Vital Shot", !CTDebuffs.Contains("Bleeding (Tech)"))) return;
if (MercCast("Flash Grenade")) return;
if (MercCast("Blaster Volley", TWR10 >= 3)) return;
if (MercCast("Charged Burst")) return;
if (MercCast("Flurry of Bolts")) return;
}
else if (Me.Class == CharacterClass.Smuggler)
{
IsRanged = true;
CheckPlayerBuffs("Lucky Shots");
WaitForHeals(true, "Recuperate", true, 80f);
MercBuffSelf("Lucky Shots", !MyBuffs.Contains("Lucky Shots"));
if (ValidTarget()) { ScrapperCombat(); return; }
}
else if (MySpec == SkillTreeId.ScoundrelScrapper)
{
IsRanged = true;
CheckPlayerBuffs("Lucky Shots");
WaitForHeals(true, "Recuperate", true, 80f);
MercBuffSelf("Lucky Shots", !MyBuffs.Contains("Lucky Shots"));
if (ValidTarget()) { ScrapperCombat(); return; }
}
else if (MySpec == SkillTreeId.ScoundrelDirtyFighting)
{
IsRanged = true;
CheckPlayerBuffs("Lucky Shots");
WaitForHeals(true, "Recuperate", true, 80f);
MercBuffSelf("Lucky Shots", !MyBuffs.Contains("Lucky Shots"));
if (ValidTarget()) { DirtyFightingCombat(); return; }
}
i'm not sure why but it seems i can't send any pms to anybody atm... so here is my reply adude:
i added Scrapper.cs and DirtyFighting.cs as classes to Routines/Joes/ (files attached)
and deleted Scoundrel.cs since this took care of this class so far (for whatever reason)
in MercHelpers.cs replace
ScrapperCombat with this:
Code:public static void ScrapperCombat() { WaitForCast(); datLCL = DateTime.Now; Thread.Sleep(100); LoadVars(); if (!TargetInCombat()) return; MercBuffSelf("Lucky Shots", true); MoveTo(CT, 2.8f); if (!IG && BuddyTor.Me.IsMoving) StopMoving(); if (CT == null && Me.CurrentTarget != null) CT = Me.CurrentTarget; if (CT == null) { Logging.Write("No target. Exiting."); return; } if (CT == Comp) { BuddyTor.Me.ClearTarget(); return; } if (!CT.InCombat && CT.HealthPercent > .2f) { MercCast("Fletchette Round"); MercCast("Stealth"); while (CT.Distance > .15f) MoveTo(CT, .15f); MercCast("Fletchette Round"); MercCast("Shoot First", CT.Distance <= .20f); } if (MercCast("Escape", Me.IsStunned)) return; MercCast("Crouch", Me, !MyBuffs.Contains("Crouch")); MoveTo(CT, .50f, "Flurry of Bolts"); if (MercCast("Fletchette Round", !CTDebuffs.Contains("Fletchette Round"))) return; if (MercCast("Quickdraw")) return; if (MercCast("Headshot")) return; if (MercCast("Flourish Shot")) return; //if (HP <= 70) MercCast("Flurry of Bolts"); // Force a Rifle-Shot on healing so we get at least a LITTLE DAMAGE in - may help with a Heals Catch-22 if (MercCast("Defense Screen", Me, !MyBuffs.Contains("Defense Screen"))) return; if (MercCast("Heroic Moment: All In", Me, HP <= 25)) return; //if (MercCast("Evasion", Me, HP <= 30)) return; //if (MercCast("Kolto Probe", Me, HP <= 70 && !MyBuffs.Contains("Kolto Probe"))) return; //if (MercCast("Surgical Probe", HP <= 70 && MyBuffs.Contains("Tactical Advantage"))) return; if (MercCast("Underworld Medicine", Me, HP <= 60)) return; if (MercCast("Kolto Pack", Me, HP <= 70)) return; if (MercCast("Cool Head", EP <= 20)) return; if (MercCast("Pugnacity", EP <= 60 && MyBuffs.Contains("Upper Hand"))) return; if (MercCast("Pugnacity", Me, RS <= 20)) return; if (MercCast("Thermal Grenade", !IG)) return; if (TD <= .50f) { if (MercCast("XS Freighter Flyby", StrongOrGreater(CT))) return; if (MercCast("Blaster Whip")) return; if (MercCast("Whirling Blow", MyBuffs.Contains("Upper Hand"))) return; if (MercCast("Blaster Volley", MyBuffs.Contains("Upper Hand") && StrongOrGreater(CT))) return; if (MercCast("Cheap Shot")) return; if (MercCast("Tendon Blast")) return; } if (MercCast("Distraction", (IG && HP <= 50) || (StrongOrGreater(CT) && TC))) return; if (MercCast("Flash Grenade", TD <= .50f)) return; if (MercCast("Dirty Kick", StrongOrGreater(CT) && TC)) return; if (MercCast("Thermal Grenade", !IG && StrongOrGreater(CT) && TC)) return; if (MercCast("Wounding Shots", MyBuffs.Contains("Upper Hand") && TWR10 >= 2)) return; if (MedicineCheckCompHealth()) return; if (MercCast("Flurry of Bolts", RS <= 30 && (StrongOrGreater(CT) || IG))) return; if (MercCast("Shrap Bomb")) return; if (MercCast("Dirty Kick", StrongOrGreater(CT))) return; if (MercCast("Headshot", CT.IsStunned)) return; if (MercCast("Sabotage Charge")) return; if (MercCast("Hemorrhaging Blast")) return; if (MercCast("Vital Shot", !CTDebuffs.Contains("Bleeding (Tech)"))) return; if (MercCast("Flash Grenade")) return; if (MercCast("Blaster Volley", TWR10 >= 3)) return; if (MercCast("Charged Burst")) return; if (MercCast("Flurry of Bolts")) return; }
and add this:
Code:public static void DirtyFightingCombat() { WaitForCast(); datLCL = DateTime.Now; Thread.Sleep(100); LoadVars(); if (!TargetInCombat()) return; MercBuffSelf("Lucky Shots", true); MoveTo(CT, 2.8f); if (!IG && BuddyTor.Me.IsMoving) StopMoving(); if (CT == null && Me.CurrentTarget != null) CT = Me.CurrentTarget; if (CT == null) { Logging.Write("No target. Exiting."); return; } if (CT == Comp) { BuddyTor.Me.ClearTarget(); return; } if (MercCast("Escape", Me.IsStunned)) return; MercCast("Crouch", Me, !Me.IsCoverAffected); if (!CT.InCombat) { Thread.Sleep(600); MercCast("Charged Burst"); } //MoveTo(CT, .50f, "Flurry of Bolts"); if (MercCast("Distraction", (IG && HP <= 50) || (StrongOrGreater(CT) && TC))) return; if (MercCast("Flash Grenade", TD <= .50f)) return; if (MercCast("Blaster Volley", MyBuffs.Contains("Upper Hand") && StrongOrGreater(CT) && TD <= .50f)) return; if (MercCast("Dirty Kick", StrongOrGreater(CT) && TC)) return; if (MercCast("Thermal Grenade", StrongOrGreater(CT) && TC)) return; //if (HP <= 70) MercCast("Flurry of Bolts"); // Force a Rifle-Shot on healing so we get at least a LITTLE DAMAGE in - may help with a Heals Catch-22 if (MercCast("Defense Screen", Me, !MyBuffs.Contains("Defense Screen"))) return; if (MercCast("Heroic Moment: All In", Me, HP <= 25)) return; //if (MercCast("Evasion", Me, HP <= 30)) return; //if (MercCast("Kolto Probe", Me, HP <= 70 && !MyBuffs.Contains("Kolto Probe"))) return; //if (MercCast("Surgical Probe", HP <= 70 && MyBuffs.Contains("Tactical Advantage"))) return; if (MercCast("Underworld Medicine", Me, HP <= 60)) return; if (MercCast("Kolto Pack", Me, HP <= 70)) return; if (MercCast("Cool Head", EP <= 20)) return; if (MercCast("Pugnacity", EP <= 60 && MyBuffs.Contains("Upper Hand"))) return; if (MercCast("Wounding Shots", MyBuffs.Contains("Upper Hand") && TWR10 >= 2)) return; if (MercCast("Whirling Blow", TD <= .50f)) return; if (MercCast("Cheap Shot", TD <= .50f)) return; if (MercCast("Blaster Whip", TD <= .50f)) return; if (MercCast("Tendon Blast", TD <= 1.0f)) return; if (MedicineCheckCompHealth()) return; if (MercCast("Flurry of Bolts", RS <= 30 && (StrongOrGreater(CT) || IG))) return; if (MercCast("Dirty Kick", StrongOrGreater(CT))) return; if (MercCast("Cheap Shot", CT.IsStunned)) return; if (MercCast("Shrap Bomb")) return; if (MercCast("Thermal Grenade", !IG)) return; if (MercCast("Sabotage Charge")) return; if (MercCast("Hemorrhaging Blast")) return; if (MercCast("Vital Shot", !CTDebuffs.Contains("Bleeding (Tech)"))) return; if (MercCast("Flash Grenade")) return; if (MercCast("Blaster Volley", TWR10 >= 3)) return; if (MercCast("Charged Burst")) return; if (MercCast("Flurry of Bolts")) return; }
Replace this (was at line 3128 last time i changed it):
with this:Code:else if (Me.Class == CharacterClass.Smuggler) { IsRanged = true; CheckPlayerBuffs("Lucky Shots"); WaitForHeals(true, "Recuperate", true, 80f); MercBuffSelf("Lucky Shots", !MyBuffs.Contains("Lucky Shots")); if (ValidTarget()) { ScrapperCombat(); return; } }
Code:else if (MySpec == SkillTreeId.ScoundrelScrapper) { IsRanged = true; CheckPlayerBuffs("Lucky Shots"); WaitForHeals(true, "Recuperate", true, 80f); MercBuffSelf("Lucky Shots", !MyBuffs.Contains("Lucky Shots")); if (ValidTarget()) { ScrapperCombat(); return; } } else if (MySpec == SkillTreeId.ScoundrelDirtyFighting) { IsRanged = true; CheckPlayerBuffs("Lucky Shots"); WaitForHeals(true, "Recuperate", true, 80f); MercBuffSelf("Lucky Shots", !MyBuffs.Contains("Lucky Shots")); if (ValidTarget()) { DirtyFightingCombat(); return; } }