Target target targeting my target
#41
I finally was able to use the new version last night. Made a 5-man run in LBRS. The new version does grab the first target that is pointed at the Ally. Worked quite well when something was targeting the Ally.

I ran into problems if nothing was targeting my Ally. My game would frees for 3-5 seconds. In the middle of a big fight this isnt good. I suspect that since we have to increase the tab itterations by one with each cycle, it is starting to take significant resources.
I am thinking of changing:
AllyProtect_target_search_limit = 15;

to:
AllyProtect_target_search_limit = 7;

and see how it does.


Dobuya - 60 Orc Warrior - Proudmoore
Reply
#42
Ravage,Apr 18 2005, 09:03 AM Wrote:I finally was able to use the new version last night.  Made a 5-man run in LBRS.  The new version does grab the first target that is pointed at the Ally.  Worked quite well when something was targeting the Ally.

I ran into problems if nothing was targeting my Ally.  My game would frees for 3-5 seconds.  In the middle of a big fight this isnt good.  I suspect that since we have to increase the tab itterations by one with each cycle,  it is starting to take significant resources.
I am thinking of changing:
  AllyProtect_target_search_limit = 15;

to:
  AllyProtect_target_search_limit = 7;

and see how it does.
Dobuya - 60 Orc Warrior - Proudmoore
[right][snapback]74335[/snapback][/right]

Ugh. The algorithm did go from O(N) to O(N^2) but even at 15 I had hoped that was too low to matter. Apparently there is some fairly significant processing involved in TargetNearestEnemy() that is the culprit here.

I think I'll make the default 8 next time I play with the mod. That might be a few days (my motherboard never came back alive after power shortage suffered during the Denver blizzard a couple weeks ago).

Thank you very much for the feedback. Darn Blizzard and their stupid name-based scripting interface, none of this would be necessary if I could tell the difference between two identically named mobs.
Reply
#43
I thought I would bump this old topic to point out some new functionality planned for the upcoming 1.5 patch that might negate the need for all the complicated coding in the macro.

From Slouken at the Blizzard Marcos and UI Forum:

Quote: In the next big content patch (1.5.0), you'll be able to append "target", to existing unit names to get information about those targets, if they are in your area of interest. You won't get events about those targets, but you'll be able to query information about them.

For example, to target your target's target, similar to an assist, you might do:
TargetUnit("targettarget");

If you wanted to see whether your pet's target was fighting your pet, you might do:
UnitIsUnit("pet", "pettargettarget");

Apparently "targettargettarget" also works :)

Chris
Reply
#44
Icebird,May 4 2005, 06:44 AM Wrote:I thought I would bump this old topic to point out some new functionality planned for the upcoming 1.5 patch that might negate the need for all the complicated coding in the macro.

From Slouken at the Blizzard Marcos and UI Forum:
Apparently "targettargettarget" also works :)

Chris
[right][snapback]76265[/snapback][/right]

Cool tip -- this should make my mod simpler. I'll still have to walk N targets but should only need to call TargetUnit("targettarget") instead of having the outer loop. Hopefully this eliminates concerns over performance.

I'm also very excited about the new improved ability to get access to pet and raid targets.
Reply
#45
Icebird,May 4 2005, 07:44 AM Wrote:I thought I would bump this old topic to point out some new functionality planned for the upcoming 1.5 patch that might negate the need for all the complicated coding in the macro.
[right][snapback]76265[/snapback][/right]

Unfortunately the problem of being unable to distinguish mobs with the same name remains, so it would still be difficult to count the mobs in the area and display who all of them are targeting.

But with this new feature, you can easily display what all your party members and pets are targetting (using party1target, party3pettarget, etc), and that is pretty cool. :) Perhaps this could be a mod to keep track of who is attacking what, to ensure people are assissting correctly?
Reply
#46
Xanthix,May 4 2005, 02:51 PM Wrote:Unfortunately the problem of being unable to distinguish mobs with the same name remains, so it would still be difficult to count the mobs in the area and display who all of them are targeting.

But with this new feature, you can easily display what all your party members and pets are targetting (using party1target, party3pettarget, etc), and that is pretty cool. :) Perhaps this could be a mod to keep track of who is attacking what, to ensure people are assissting correctly?
[right][snapback]76300[/snapback][/right]

Cool idea! CTRaid_Assist already does this somehow via their channel, but this would be a simple mod to write with this functionality, at least for determining information.

Have to learn how to display the info in a convenient way, which means learning the graphical parts, which means spending some real time with it.

It could also be extended to allow you to "set" a mob and have it update who the mob is targeting (using targettarget). Oh ugh, the name resolution problem makes this not work.
Reply
#47
vor_lord,May 4 2005, 01:57 PM Wrote:...Oh ugh, the name resolution problem makes this not work.
[right][snapback]76301[/snapback][/right]

What is needed to solve a lot of these issues is access to each 'object's unique ID - everything must have one already for the server and client to sync up - and enable targetting by unique ID.

So, to 'Target the target that's targetting my target', you'd record your currently selected target's ID (or even a party memeber, so you could have a button next to each party member that would target something that is targetting them); tab through targets until (targettargetID == savedID OR reached max # of tabs). The end, simple. If there was some way to do a FOR EACH (enemy in area){ IF (enemy is targetting your friendly){ TARGET (this enemy); EXIT FOR}} it'd be even simpler.

The target-lock idea would be easily done as well, but how about this idea (would require a hidden chat-channel):

'Breakout' mod - run by each party member. Any party member can set themselves as a 'Guardian' of any other party member(s) (for instance, an off-tank/aggro-stealer such as a Shaman or Rogue would set themselves as 'Guardian' of the Priest; Alternately, the Tank could set themselves as Guardian of all the other party members). Any time that a mob is targetting a party member, the mob's unique ID is sent to the chat-channel. Your client scans this channel for party memeber's names who you are Guardian of, and automatically targets the mob based on it's unique ID, or, more likely, a button will enable that allows you to target this mob (to keep it from switching your target when you don't want to).

In the first example, with, say, a Shaman set up as the Guardian of the party priest, the second something is targetting the priest, the Shaman can automatically target that mob and bring it off the all-important healer.

In the second example, with the tank as the Guardian of all other party members, anytime something is targetting any other party member, the tank can automatically target that mob to bring it back under control.

All of this is, of course, a dream - since we don't have a way to uniquely identify targets.

Thoughts?


[Image: gurnseyheader6lk.jpg]
Reply
#48
Gurnsey,May 4 2005, 03:29 PM Wrote:All of this is, of course, a dream - since we don't have a way to uniquely identify targets.

Thoughts?
[right][snapback]76306[/snapback][/right]

Yes, a lot of things become much simpler with an ID based system. I wonder if an appeal to the devs would yield such a thing? I know internally it is object based, not sure what harm there would be in making it accessible.


edit: With respect to your breakout mod, my current AllyProtect will cover nearly everything you have there with a simple macro:

/target whoIamGuardianOf
/allyprotect

It isn't quite as slick as your idea but getting into the hidden channel stuff is messy and adds more event triggers, which add up to a frame rate decrease.
Reply
#49
Gurnsey,May 4 2005, 04:29 PM Wrote:All of this is, of course, a dream - since we don't have a way to uniquely identify targets.

Thoughts?[right][snapback]76306[/snapback][/right]
Don't even get me started on the mods that could be written if we had an ID-based system. :)

You know how those healer mods like CastParty, MiniGroup, and CT_Raid show you your party mates' health/mana and let you cast spells on them with one click?

I envision a mod that works the same way, but for tanks. It would show you health/mana bars of all the mobs in the vicinity, along with which player they are targeting. Then you could set it so that left-clicking on a mob either targets them, casts Arcane Missles on them, or Taunts them, or whatever. Instant information and instant action for tanks, just like healers can get it now.

But for now, it's only a dream...
Reply
#50
One of the early results of the 1.5 TargetTarget upgrades to the scripting API:
Aggro Alert

Since I checked last, they added a "tank mode" (where it freaks if the aggro isn't on you). Good stuff. :D

The algorythm for the AllyProtect functionality discussed here should be simplified with the new commands available. Anyone done the optimization yet?
Reply
#51
Olon97,Jun 10 2005, 02:35 PM Wrote:One of the early results of the 1.5 TargetTarget upgrades to the scripting API:
Aggro Alert

Since I checked last, they added a "tank mode" (where it freaks if the aggro isn't on you). Good stuff. :D

The algorythm for the AllyProtect functionality discussed here should be simplified with the new commands available. Anyone done the optimization yet?
[right][snapback]80174[/snapback][/right]

I haven't yet, but will (now that you've reminded me :) )

P.S.: I assume you are Olona who is often in the Tichondrius lurkers channel?
Reply
#52
UPDATED:

1. Now takes advantage of the new 1.5 functions that allow you to string "targettarget" together. This should make it work faster. It also simplifies the code quite a bit. Thanks to Icebird for mentioning this improvement, and Olon97 for reminding me to do it now that the patch is out!

2. Now correctly handles neutral targets internally.

Try it out and give me feedback. It's hard to test without the help of a true party in a multiple mob situation, so let me know if anything acts weird.

vor_lord's Mods
Reply
#53
vor_lord,Jun 10 2005, 02:20 PM Wrote:P.S.:  I assume you are Olona who is often in the Tichondrius lurkers channel?
Yup, that's my primary toon. :)

Looks like 1.6 has some potential for further optimizations (or re-tooling):

# Tab Targetting (TargetNearestEnemy(), TargetNearestFriendly(), TargetNearestPartyMember(), TargetNearestRaidMember()) will be changed a bit.
Quote:    If you are cycling through tab targets and then select a different target, and

    then quickly hit tab again, your last tab-selected target will be re-selected and

    you can continue tab selecting where you left off. If you select another target

    and then reselect the last tabbed target, then tab selection will continue

    unhindered. Clearing your target or staying on the same target for 3 seconds will

    restart the tab selection process.
source
Reply
#54
vor_Lord, is there any chance you can make AllyProtext run again in the current patch? Or did Blizzards changes kill this little thing?
"Always code as if the guy who ends up maintaining, or testing your
code will be a violent psychopath who knows where you live."
Reply
#55
Quote:vor_Lord, is there any chance you can make AllyProtext run again in the current patch? Or did Blizzards changes kill this little thing?

Holy thread resurrection, Batman! I think this thread counts as being undead now.
Reply
#56
The default interface now allows one to see the target's target. Invaluable for spot healers.

Also the macro commands /focus and /cast [target=focus] SomeHealSpell in two separate macros or some variations of these is some good stuff.
Old age and treachery will always overcome youth and enthusiasm!
Reply
#57
Quote:The default interface now allows one to see the target's target. Invaluable for spot healers.
Ah, that was always possible to my knowledge. What this addon AllyProtect did, was to show me who is targetting my target. With the recent patch it is no longer compatible, whatever that means.

Well, if I was the only one using it, then just let the thread die away peacefully once more:)
"Always code as if the guy who ends up maintaining, or testing your
code will be a violent psychopath who knows where you live."
Reply


Forum Jump:


Users browsing this thread: 11 Guest(s)