Thanks. Re: Pause - should be global - let me know under what circumstances it's running/looping. And re: rewards etc. nope, that's BrainBehavior, not sure I can do anything on that, but I'll notify if I find anything.
Joe
[JoesCombat] SoG: Y HP: 098,9 RS: 089,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 95,04 Comp: M1-4X CHP: 096,8 Casting Hammer Shot
[JoesCombat] SoG: Y HP: 096,3 RS: 099,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 89,57 Comp: M1-4X CHP: 094,1 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 096,3 RS: 093,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 86,30 Comp: M1-4X CHP: 092,6 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 093,8 RS: 087,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 74,81 Comp: M1-4X CHP: 091,1 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 091,3 RS: 081,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 68,93 Comp: M1-4X CHP: 088,5 Casting Stockstrike
[JoesCombat] SoG: Y HP: 091,3 RS: 075,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 62,41 Comp: M1-4X CHP: 083,6 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 067,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 57,43 Comp: M1-4X CHP: 080,8 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 057,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 53,23 Comp: M1-4X CHP: 079,0 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 041,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 46,54 Comp: M1-4X CHP: 079,0 Casting Recharge Cells
[JoesCombat] SoG: Y HP: 088,7 RS: 080,0 AC: 1 CTScale: 1,0 TD: 0,0 THP: 46,54 Comp: M1-4X CHP: 079,0 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 082,1 AC: 1 CTScale: 1,0 TD: 0,0 THP: 41,36 Comp: M1-4X CHP: 076,1 Casting Stockstrike
[JoesCombat] SoG: Y HP: 088,7 RS: 084,1 AC: 1 CTScale: 1,0 TD: 0,0 THP: 34,61 Comp: M1-4X CHP: 074,4 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 078,1 AC: 1 CTScale: 1,0 TD: 0,0 THP: 29,57 Comp: M1-4X CHP: 069,0 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 072,1 AC: 1 CTScale: 1,0 TD: 0,0 THP: 24,30 Comp: M1-4X CHP: 066,0 Casting Ion Pulse
[JoesCombat] SoG: Y HP: 088,7 RS: 075,1 AC: 1 CTScale: 1,0 TD: 0,0 THP: 12,19 Comp: M1-4X CHP: 057,9 Casting Full Auto
[JoesCombat] SoG: Y HP: 088,7 RS: 062,1 AC: 1 CTScale: 1,0 TD: 0,0 THP: 02,76 Comp: M1-4X CHP: 055,2 Casting Stockstrike
Updated. Biggest change was to slow down the combat loop so that the abilities would get picked up as usable.thow something is off with the trooper vanguard - Assault specialist spec...
it only does the following:
...
thanks for fixing the goodies issue. Much appreciated. The routine is running great btw!! Movements are quick from one place to the next.![]()
Updated. Biggest change was to slow down the combat loop so that the abilities would get picked up as usable.
Interesting how in theory it's a RANGED class, but per the buffs etc, may as well be melee for DPS, which is a MAJOR PAIN IN THE A** when it comes to all the navigation involved during fighting. So to avoid all of the suffering involved per constant movement, I left the range (for the DPS Specs) at 30m. You can update it if you like in VanguardCombat(). Note that since Incendiary Round and Gut are basically melee abilities to some extent, they won't be used until the mob rushes you.
Joe
Hi joe!
how to make FRD (Field Repair Droid) works?
...
if (ta.Name.Contains("Field Revive") && taMedProbe == null) { taMedProbe = ta; Logger.Write("Ability " + ta.Name + " found."); }
[07:02:32.376 N] [JoesCombat] Name: Field Revive
ActionPointCost: 0
AiType: None
AppearanceSpec:
AutoAttackMode: None
CastingTime: 0
ChannelingTime: 0
CombatMode: None
CooldownTime: 0.5
EnergyCost: 0
ForceCost: 0
GlobalCooldownTime: 0
HeatCost: 0
IconSpec: shadowwalk
IgnoreAlacrity: True
IsCustom: True
IsHidden: True
IsPassive: False
MaxRange: 0
MinRange: 0
ModalGroup: 0
TargetArc: 0
TargetArcOffset: 0
TargetRule: SelfDead
UsesSpellPushback: False
IsValid: True
conContainerSlot_db: 0
conEntitySpec: 16140945076078806692
IsDeleted: False
Position: <0,0,0>
DistanceSqr: 64.04095
Distance: 64.04095
YDiff: 24.02201
IsFacing: False
[07:02:33.330 N] [JoesCombat] Name: Return to Medcenter
ActionPointCost: 0
AiType: None
AppearanceSpec:
AutoAttackMode: None
CastingTime: 0
ChannelingTime: 0
CombatMode: None
CooldownTime: 0
EnergyCost: 0
ForceCost: 0
GlobalCooldownTime: 0
HeatCost: 0
IconSpec:
IgnoreAlacrity: False
IsCustom: True
IsHidden: True
IsPassive: False
MaxRange: 0
MinRange: 0
ModalGroup: 0
TargetArc: 0
TargetArcOffset: 0
TargetRule: SelfDead
UsesSpellPushback: False
IsValid: True
conContainerSlot_db: 0
conEntitySpec: 16141006559840106161
IsDeleted: False
Position: <0,0,0>
DistanceSqr: 64.04095
Distance: 64.04095
YDiff: 24.02201
IsFacing: False
Logger.Write("Death detected. Waiting for Medcenter Rez to be Available...");
Thread.Sleep(5000);
ClearTarget();
Thread.Sleep(400);
ClearTarget();
if (taMedCenter != null)
{
SynchObjCacheAll();
//TorAbility ta = Me.KnownAbilitiesContainer.Where(t => t.Name == "Call Medical Probe").FirstOrDefault(); // RST - Test Field Rez
if (taMedProbe!=null) try // RST - Test Field Rez
{
Me.AbilityActivate(taMedProbe, Me, out er); //RST - Test Field Rez
if (er == EffectResult.Ok)
{
Logger.Write("Field Rezzing...");
Thread.Sleep(300);
WaitForCast();
}
}
catch { }
//while (taMedProbe.IsValid && (BuddyTor.Me.IsDead || BuddyTor.Me.HealthPercent < .2f)) Thread.Sleep(2000);
//if (Me.AbilityActivate(taMedProbe, Me, out er)) { Logger.Write("Rezzing..."); Thread.Sleep(2000); }
while (!taMedCenter.IsValid && (BuddyTor.Me.IsDead || BuddyTor.Me.HealthPercent < .2f)) Thread.Sleep(2000);
if (Me.AbilityActivate(taMedCenter, Me, out er)) { Logger.Write("MedCenter Rezzing..."); Thread.Sleep(2000); }
Logger.Write("Giving the bot some time to 'Get its Bearings'...");
Thread.Sleep(5000);
}
public static void WriteObject(TorObject O)
{
if (O != null)
{try
{
XmlSerializer xmlserializer = new XmlSerializer(typeof(TorObject));
StringWriter stringWriter = new StringWriter();
XmlWriter writer = XmlWriter.Create(stringWriter);
xmlserializer.Serialize(writer, O);
Write(stringWriter.ToString());
writer.Close();
}
catch (Exception ex)
{
Write("EX: " + ex.ToString());
}
}
}
This i've also looked into ... it seems that for some reason (either the npc list is not updated or something) if the bot is not visible on the screen (like the view is pointed elsewhere), or the screen is minimized or behind another window it NEVER (almost) finds it, its like the mob collection is refreshed when painted on screen.I've already addressed this a wayyyyys back.
1. Max-Out your Field Repair Droid Legacy Ability (so it can be resummoned every 15m and will stick around for 3m or so).
2. IT TAKES TIME, TO FIND THE FIELD REPAIR DROID, PERIOD. And it won't ALWAYS find it. But will most of the time.
3. You can always just code a grinding profile which will run you near a (stationary/permanent) Repair Droid (i.e. at the Imp/Pub base/camp) and the code will, if you're low on inventory, scan for/find/move-to/use the permanent droid nearby.
Joe
Hey Joe,
Thanks for the continuous updates! Bot is running SOOO smoothly now (maybe too fast, as i got used to have time to send companions on missions or to sell grays while walking, and now i need to be fast).
This i've also looked into ... it seems that for some reason (either the npc list is not updated or something) if the bot is not visible on the screen (like the view is pointed elsewhere), or the screen is minimized or behind another window it NEVER (almost) finds it, its like the mob collection is refreshed when painted on screen.
One of the reasons i dumped the whole skill list (passives, and actives) is to try to find the "Sell Grays" companion skill, but to no avail so far (it takes 5s when maxed out, but only works for grays which surely you know cos only one of us is the newb).
Edit: which is also why i dumped all of the 'TorObject mob' objects it checks in the for-each, the ammount of stuff in there was surprising (datacrons, cubes, platforms, resources, npc, mobs, etc etc ... but not stupid repair droid.
Thanks for the great plugin! I appreciate the hard work you have put in =D
I had a quick question. My jedi sent isn't using force leap or zen. I'm just using the combat profile with grinder on. Is there a way to turn it on? As of now, it just runs up to the npc to kill without closing the gap with force leap and not using zen at 30 centering stacks.
Logger.Write("CT.HEAD :" + CT.Heading.ToString() + " - CT.Distance :" + CT.Distance.ToString());
Logger.Write("ME.HEAD :" + Me.Heading.ToString());
float aaa=Math.Abs(CT.Heading - Me.Heading);
Logger.Write("Angle :" + aaa.ToString());
if (MercCast("Shadow Strike", CT.Distance <= .20f && Math.Abs(CT.Heading - Me.Heading) < 60f))
if (MercCastOnGround("Force in Balance",(TWR10 >= 2 || SoG),CT))
if (MercCast("Whirling Blow", TWR5 >= 3))
if (MercCast("Double Strike")) break;