Hi, Nefarious, I'm sorry your experiencing this problem. Alas, this particular problem is not with WingIt, but the BWcore. It would be best reported in the main BuddyWing thread. If you could tell them your spec, and what WingIt reports it as, it may help them localize the problem. cheers, chinajade
Hi, thanks for the support but I have bad news its still not working right :/, so I uploaded pictures whit the buffs... ok so the first one is the main Bounty Hunter buff and the second is the one than you get when choosing Mercenary, from those just one can be active at time. Here is the lattest log (SVN rev #650) View attachment 2012-07-21 20.14.txt Thanks in advice PS: would be great if someone that has a higher Merc/Healer comment if having the same issues EDIT: bot is not looting from mobs now, he just keeps spaming Rapid Shots after killing a mob, not even healing himself, so he has to wait until the hp goes to 100% alone again:/ EDIT2: bot has been questing ok, its just than is doing slow cuz of healing when not needed, pulling after 5-6 sec after getting a target
#Update again. Fixed sololvling as Bodyguard/CombatMedic. There may be some wrong healings, e.g. healing myself instead of companion but I cant tell why he is doing that etc, but lvling should work much better now.
Made a change to how the bot uses Countermeasures for the Sniper (Marksmanship). Basically the way it is coded now is that if you're in a group it automatically fires it off the first pass through the combat cycle. That's very not useful, as you need Countermeasures to fire AFTER you've gained some aggro to dump some and get things off you. So I changed the line to be: Code: Mirror.Cast("Countermeasures", ret => !Me.IsMirrorAbilityReady("Shield Probe", Me)), Basically, Countermeasures is VERY useful even when solo. So what this does it checks to see if Shield Probe has been fired off (which fires off once you've taken some damage (usually around the 75% mark). The logic here is that if you've taken enough damage to need Shield Probe to fire off then you need to dump your aggro. Even if it is just you and your companion, the aggro dump will generally get whatever's hitting you (even at range) to switch to the companion (especially if they are in tank mode). Plus this also works out really well as both of them are on a 45s cooldown timer, so this effectively means that they both fire off at the same time, so they are effectively linked together.
Is there a way in the code to set a chain of abilities to cast one after another based on one initial set of parameters? Meaning (using Pseudo code): If (Parameters = True) Then Cast X && Cast Y && Cast Z ------------------------------ Reason I'm asking is that I have a couple of ideas of setting up casting chains where the initial parameters matter, but they are different as soon as the first ability is fired and the rest of the abilities need to fire regardless of anything else.
Heh. That's what I was actually going to be working on. So yes, I'm very interested to see what you can come up with. I'll reply over there, too.
I'm trying out a heavily modified Solo Rotation for the MM Sniper based on the mmo-mechanics thread. The current one is a bit too sloppy and all over the place. I want something a bit more consistent. Code: // Solo Rotation Mirror.Cast("Shatter Shot", ret => !MyTarget.HasDebuff("Armor Debuff (Physical)")), // Flourish Shot Mirror.Cast("Series of Shots", ret => Me.IsInCover() && Resource >= 70), Mirror.Cast("Ambush", ret => Me.IsInCover() && (Me.IsMirrorAbilityReady("Followthrough", Me) || Resource >= 80)), Mirror.Cast("Followthrough"), Mirror.Cast("Snipe", ret => Me.IsInCover() && (Me.IsMirrorAbilityReady("Followthrough", Me))), Mirror.Cast("Followthrough"), Mirror.Cast("Snipe", ret => Me.IsInCover() && Resource >= 80), Mirror.Cast("Takedown", ret => MyTarget.HealthPercent <= 30 && Resource >= 70), Mirror.Cast("Corrosive Dart", ret => !MyTarget.HasMirrorDebuff("Poisoned (Tech)")), // Vital Shot ( Bleeding (Tech) ) Mirror.Cast("Explosive Probe", ret => Me.IsInCover() && Global.IsElite && Resource >= 80), Mirror.Cast("Rifle Shot"), // Fury of Bolts The main idea is that you should always combo Followthrough with Ambush and Snipe when you can. Based on the cooldowns you're alternating back and forth between them (except for an occasional Snipe when everything else is in place). Shatter Shot should only be used often enough to keep the Armor Debuff on the target. "Armor Debuff (Physical)" should get added to the Sniper/Gunslinger Mirror list no matter what. Takedown should be used based on Energy usage but almost always when the target is low enough in health. Corrosive Dart has a high enough DPE that it should always be kept up on a target regardless of elite status. Against trash mobs the combat generally won't even get to this line. Explosive Probe isn't as useful for a pure MM Sniper, but it is a useful ability to use during the longer fights. Rifle Shot is there to help keep the Energy levels up above 60'ish if possible. I'll let y'all know how this turns out.
Okay, it is working fairly well, but the code for checking to see if the "Armor Debuff (Physical)" from Shatter Shot is on the target isn't working. So it is casting SS more then it should be. Beyond that it seems to be working REALLY well.
1. You dont need Corrosive Dart vs normal mobs 2. Its a PrioritySelector NOT a sequence, so you don't 2x Cast("Followthrough"), 3. Is "Armor Debuff (Physical)" the exact debuff name? Also, you should use HasMirrorDebuff 4. If you want that Takedown has a high priority, it needs to be more at the beginning!
1) I'm noticing that and will add in the elite tag again. 2) I realize that and there's nothing wrong with having FT twice like that. What that does it makes sure that it fires off correctly. With it like that if Ambush, Snipe, and Followthrough are all off cooldown then it will cast Ambush then FT and won't have enough energy to cast Snipe. FT will then come off cooldown before Ambush so that when there's enough energy it will cast it after Snipe (which it can cast the next go around or two). What you don't want is Ambush -> Snipe -> FT if you can help it, since that will throw off your energy cycle and cooldowns for the various abilities. So far it's doing what it should, especially since it cannot be cast without either Ambush or Snipe being used first, even if it is off cooldown. 3) There are two debuffs, but the one that lasts 25 seconds is "Armor Debuff (Physical)". I can't use HasMirrorDebuff yet since "Armor Debuff (Physical)" isn't on the list for Snipers/Gunslingers and it just gives me an error at runtime. I'm going to try and hack the Mirror list and see if I can get that fixed. 4) Takedown has a higher priority over all of the "filler" abilities, but not over Ambush -> FT / Snipe -> FT. It is given a bit of an edge, tho, with only requiring the Energy to be at 70 versus 80. Side note: Checking buffs on yourself doesn't seem to be working. That's why I had to tie "Countermeasures" off of seeing if "Mirror Probe" was on cooldown or not. I originally was having it check for the "Countermeasures" buff on yourself, but it wasn't picking it up. The way I have it a few posts back works much better, anywho.
I'm an idiot. It's "Armor Reduced (Physical)". My brain was getting stuck on the word "Debuff" even though I was staring at the correct text the entire time. I've added it to my MirrorData.cs and it seems to be working.
this and not else. I think that you didn't understand the PrioritySelector. It will start from the beginning and if the child returns failure, it will go on to the next child, but if the child returns success, it will start from the beginning again.
You are right, I didn't understand it. I thought it cycled through each one in turn. So it could literally just keep doing the first step in the list if that kept coming up a success? But that's why I put it on here as I'm not a programmer, just someone that knows enough to edit some scripts. Thanks for the info. I can modify it from that. EDIT: That debuff is supposed to be "Armor Reduced (Physical)" not "Armor Debuff (Physical)" for SS. I had it wrong for a day before I noticed what I was doing.
Been getting a lot of "Not ready yet" spam on screen during combat within the last day or so. No errors are showing up in the logs. Looks like WingIt might be trying to fire off abilities before the GCD is finished. Not sure.
If you can narrow this down, it would help. For instance, does it only occur when trying to use "Cast on Ground" spells? I point you this direction because we had to write a fair bit of our own code in that area, because BW API didn't really support it. Is it a continuous problem, or every so often, or "bursty"? cheers & thanks, chinajade
Been trying to narrow it down. I have no "cast on ground" spells to use yet so it isn't that. When it happens (which is at least 70-80% of the time) it starts up after at least one or two passes through the main combat routine. When it starts it just spams whatever it is (as the screen has "Not ready yet" show up 4-5 times rolling across). Combat involving multiple targets seems to have it happen 100% of the time, or damn near close to it. It does happen with single targets, especially ones that are Elite+ (like boss types, etc). Again, if there was anything in the logs I'd show you, but all you'd see is a normal ability list. It certainly doesn't seem to impact Combat as abilities are firing off as they should. It just looks bad to keep seeing the middle of the game window flooded with that error message. I will start keep track of number of combats and number of combats that it happens in to try and get a good percentage going.