Execution: Custom Alert Mod (GUI now available)

All things /script related

Moderators: Fridmarr, Worldie, Aergis, _Chloe

Execution: Custom Alert Mod (GUI now available)

Postby moduspwnens » Thu Jul 16, 2009 1:40 am

This project is now officially available for testing in beta form throughout its development. Additional information is available later in the thread.

==============================================================================

So let me throw out this idea for an addon, and you guys can let me know what you think.

Essentially it would be similar to ThatJustHappened... with the powers of a boss mod and the addition of a few things neither currently do. The target would be to meet all of the standards below:

    1. User-defined announcement or warning rules that can read all variables of the combat log, as well check and do all the things that DBM does. One of the determining factors of success would be that I think I should be able to give you a list of rules (much like I do for TJH) that cover everything DBM does in Ulduar.

    2. Easy import and export of rules. Currently, though, TJH rules are mildly difficult to interpret by humans, but not too bad. With the additional variables I'm thinking of, though, that quality would probably be lost. It's not a major problem, though. The largest benefit is still there: Since these are user-defined, likely to be often strategy-specific announcements and warnings, this allows anyone who's got a good set of rules for a Freya+3 strategy to post them and help my raid to learn how it works.

    3. Ability to share rules easily in-game, especially with other raid or guild members. This is a really big deal, even if it doesn't seem like it. Let me explain.

      Consider the following practical example: Let's say I lead my 25 man raid and had everyone (who currently has DBM) get this new addon instead. I check up on Maintankadin and import the entire Ulduar DBM set, so for me, it's like I have DBM installed anyway. I can share these rules, though, so then let's say I do. Now my whole raid has the same alerts and warnings as they did with DBM. The cool part is next, though. Unlike popular boss mods, all of my methods are completely independent of the arguments. That means I don't have to transfer addon files specific to each encounter... just basically a set of TJH rules.
      But it doesn't end there. Now let's say my raid is having some trouble with XT-002's Hard mode. With an addon like this, I could add the following rules (in plain English):

        - 5 seconds before each Tantrum (it's on a fairly rigid timer), play a warning sound and message (probably just for healers) that alerts them that the tantrum is incoming.
        - When the heart is exposed, pester Shamans to Bloodlust if it's not up already.
        - When the heart is killed and XT resumes normal melee, alert DPSers that the next DPS targets are the Pummelers.
        - Mark the Pummelers with raid icons in the standard kill order as they are discovered (through the combat log or targeting).
        - If anyone is within 10 (or 15?) yards of a Bomb Bot, play a warning sound, display a message, and color screen borders red for him until he gets away.
        - Play a prompting sound for Deconstuctor's primary aggro target (the tank) when a Life Spark is dropped.
        - Play a warning sound for anyone who gets Light Bomb, show a message explaining where to go (for us, it'd be XT's left foot), and color screen borders red for him until he's not damaging any other raid members.
        - Play a warning sound for anyone who gets Gravity Bomb, show a message explaining where to go, and color screen borders red for him until he's safely away from all raid members.
      This is just a possible example, but do you see the power potential? This is stuff that normally you'd have to watch for and yell out on Vent! Instead, you could effectively create an in-game guide that walks each raid member through his roles to complete the encounter exactly according to strategy. They're also being prodded along in typical DBM style to avoid "tunnel vision."

    4. A GUI that simplifies the whole process enough that someone with no knowledge of how the combat log works can implement their announcements / warnings. This may be a little overambitious, but we'll see if doing a good GUI is as tough as it appears to be.

So, that's the idea. I'd like to get some feedback on it, though.
    More experienced programmers: Is anything I'm proposing impossible or significantly more difficult than I think it will be?

    Everyone: Any thoughts? Like the idea? Is there anything you'd like to see in a boss mod that isn't already done? Can you see yourself making use of something like this? What DBM-style warnings might you implement for your raid?
Last edited by moduspwnens on Thu Oct 15, 2009 10:52 am, edited 5 times in total.
I rule.
moduspwnens
Moderator
 
Posts: 6211
Joined: Tue Nov 06, 2007 12:28 pm
Location: Shattered Hand

Re: New Personal Project? Addon Idea

Postby _Chloe » Thu Jul 16, 2009 4:34 am

Easily doable, yet I'm stretched for time with Tankadin alone. Rules could be simplified using a 3rd or 4th gen style language system:
"rule add timer combat 'Tantrum Warning' in 30 alert sound 'bigassalert.wav' "
"rule add timer combat 'Tantrum Warning(Text)' in 30 alert text 'Tantrum in 5 seconds!' "

These could be parsed into something like TJH and execute it. These can be sent in-game between addons with the Addon channel and broadcast through the raid. They can also be displayed in a textbox so that they can be copied and pasted. Bars are easy enough to make. The GUI is what will make or break the mod, but if enough thought is put into it should be fine. The only thing that will be difficult is making a guide of all the functions etc. Hell people already don't know a ton about PP for example and it's cake. Imagine this one.
User avatar
_Chloe
Moderator
 
Posts: 971
Joined: Fri Dec 07, 2007 6:36 pm
Location: Santa Monica, CA

Re: New Personal Project? Addon Idea

Postby moduspwnens » Thu Jul 16, 2009 6:38 am

_Chloe wrote:Easily doable, yet I'm stretched for time with Tankadin alone. Rules could be simplified using a 3rd or 4th gen style language system:
"rule add timer combat 'Tantrum Warning' in 30 alert sound 'bigassalert.wav' "
"rule add timer combat 'Tantrum Warning(Text)' in 30 alert text 'Tantrum in 5 seconds!' "

These could be parsed into something like TJH and execute it. These can be sent in-game between addons with the Addon channel and broadcast through the raid. They can also be displayed in a textbox so that they can be copied and pasted. Bars are easy enough to make. The GUI is what will make or break the mod, but if enough thought is put into it should be fine. The only thing that will be difficult is making a guide of all the functions etc. Hell people already don't know a ton about PP for example and it's cake. Imagine this one.

Well I'm sure I'll be PMing you (and probably a few other regulars here) with any road blocks, but I've found that basically everything I want to do has already been done in different forms by TJH/DBM or others, so hopefully it shouldn't be too tough to figure out. That along with what seems to be a fairly simple debugging process (output to chat frame: "Test conditional hit" or "Test conditional missed" does pretty well) lead me to believe it's worth giving a shot. Plus if I can actually pull this off, I could probably list Lua on a resume. /shrug.

Another very helpful point is that DBM's licenses happen to be very permissive.
-- You are free:
-- * to Share ?to copy, distribute, display, and perform the work
-- * to Remix ?to make derivative works
-- Under the following conditions:
-- * Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
-- * Noncommercial. You may not use this work for commercial purposes.
-- * Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

So if I'm reading this correctly, that means I can use any part of their code I want as long as I show clearly that this part is theirs and share mine the same way. I can deal with that. That effectively knocks out some of the earlier stuff I worried about (like programming cooldown bars and boss health bars), which was one of my bigger hurdles.
I rule.
moduspwnens
Moderator
 
Posts: 6211
Joined: Tue Nov 06, 2007 12:28 pm
Location: Shattered Hand

Re: New Personal Project? Addon Idea

Postby moduspwnens » Thu Jul 16, 2009 7:20 pm

I have another possible feature to look into: How about a GTA Vice City-style arrow pointer? Cartographer already does it for quests. How about for constrictors on Yogg? Hm. I think that could be useful in other encounters, too. I'll look into it.
I rule.
moduspwnens
Moderator
 
Posts: 6211
Joined: Tue Nov 06, 2007 12:28 pm
Location: Shattered Hand

Re: New Personal Project? Addon Idea

Postby _Chloe » Thu Jul 16, 2009 11:22 pm

moduspwnens wrote:I have another possible feature to look into: How about a GTA Vice City-style arrow pointer? Cartographer already does it for quests. How about for constrictors on Yogg? Hm. I think that could be useful in other encounters, too. I'll look into it.


Specifically denied by Blizzard. You cannot get your referece direction to an enemy unit. This could lead to botting. There was a blue post on this same issue when 3.1 came out the the api call. Cartographer does it because it's based on coordinates.
User avatar
_Chloe
Moderator
 
Posts: 971
Joined: Fri Dec 07, 2007 6:36 pm
Location: Santa Monica, CA

Re: New Personal Project? Addon Idea

Postby _Chloe » Thu Jul 16, 2009 11:25 pm

moduspwnens wrote: but I've found that basically everything I want to do has already been done in different forms by TJH/DBM or others, so hopefully it shouldn't be too tough to figure out.


Yeah... that's what I thought too, lol. gl and god speed.
User avatar
_Chloe
Moderator
 
Posts: 971
Joined: Fri Dec 07, 2007 6:36 pm
Location: Santa Monica, CA

Re: New Personal Project? Addon Idea

Postby moduspwnens » Thu Jul 16, 2009 11:30 pm

_Chloe wrote:
moduspwnens wrote:I have another possible feature to look into: How about a GTA Vice City-style arrow pointer? Cartographer already does it for quests. How about for constrictors on Yogg? Hm. I think that could be useful in other encounters, too. I'll look into it.


Specifically denied by Blizzard. You cannot get your referece direction to an enemy unit. This could lead to botting. There was a blue post on this same issue when 3.1 came out the the api call. Cartographer does it because it's based on coordinates.


There may be a misunderstanding. I assumed there's no way to point to enemy units directly, but in the case of Yogg's constrictors, they're always gripping a player. Since there are mods that can easily get your coordinates, shouldn't it be possible to point an arrow to the player in need of help? Or am I missing something?
I rule.
moduspwnens
Moderator
 
Posts: 6211
Joined: Tue Nov 06, 2007 12:28 pm
Location: Shattered Hand

Re: New Personal Project? Addon Idea

Postby Aubade » Thu Jul 16, 2009 11:40 pm

Hmm, I think this would do wonders for a lot of people's raids, and I'm sad I cannot help you, as I have NO EFFIN CLUE how to script anything. But Good luck!
Image
- Awbade Level 85 Human Paladin - <Tsunami> Frostmourne - Retired.
Deliriously wrote:I prefer the, "Lonely Hand Approach" (trademark pending)
User avatar
Aubade
Moderator
 
Posts: 4877
Joined: Sun Jan 18, 2009 12:51 am
Location: Tacoma, WA

Re: New Personal Project? Addon Idea

Postby _Chloe » Fri Jul 17, 2009 2:33 am

moduspwnens wrote:
_Chloe wrote:
moduspwnens wrote:I have another possible feature to look into: How about a GTA Vice City-style arrow pointer? Cartographer already does it for quests. How about for constrictors on Yogg? Hm. I think that could be useful in other encounters, too. I'll look into it.


Specifically denied by Blizzard. You cannot get your referece direction to an enemy unit. This could lead to botting. There was a blue post on this same issue when 3.1 came out the the api call. Cartographer does it because it's based on coordinates.


There may be a misunderstanding. I assumed there's no way to point to enemy units directly, but in the case of Yogg's constrictors, they're always gripping a player. Since there are mods that can easily get your coordinates, shouldn't it be possible to point an arrow to the player in need of help? Or am I missing something?


Yes. Look at a coordinate mod in an instance. What does it read? 0,0. That function returns nil when inside an instance.
User avatar
_Chloe
Moderator
 
Posts: 971
Joined: Fri Dec 07, 2007 6:36 pm
Location: Santa Monica, CA

Re: New Personal Project? Addon Idea

Postby _Chloe » Fri Jul 17, 2009 2:34 am

Aubade wrote:Hmm, I think this would do wonders for a lot of people's raids, and I'm sad I cannot help you, as I have NO EFFIN CLUE how to script anything. But Good luck!


No but you can beta test!
User avatar
_Chloe
Moderator
 
Posts: 971
Joined: Fri Dec 07, 2007 6:36 pm
Location: Santa Monica, CA

Re: New Personal Project? Addon Idea

Postby Aubade » Fri Jul 17, 2009 2:42 am

_Chloe wrote:
Aubade wrote:Hmm, I think this would do wonders for a lot of people's raids, and I'm sad I cannot help you, as I have NO EFFIN CLUE how to script anything. But Good luck!


No but you can beta test!


Hmm, that might be a problem, y'see.

<SOULJA BOY TELL EM> Isn't currently raiding any content, since i told <Hardmode> to Eff off.

So i could beta-test some BG's, or if it's got an AH module i could beta-test the HELL outta it, but raiding, not so much, hopefully one of my apps get accepted, then i will. Gladly =]
Image
- Awbade Level 85 Human Paladin - <Tsunami> Frostmourne - Retired.
Deliriously wrote:I prefer the, "Lonely Hand Approach" (trademark pending)
User avatar
Aubade
Moderator
 
Posts: 4877
Joined: Sun Jan 18, 2009 12:51 am
Location: Tacoma, WA

Re: New Personal Project? Addon Idea

Postby fafhrd » Fri Jul 17, 2009 7:35 am

_Chloe wrote:
moduspwnens wrote:
There may be a misunderstanding. I assumed there's no way to point to enemy units directly, but in the case of Yogg's constrictors, they're always gripping a player. Since there are mods that can easily get your coordinates, shouldn't it be possible to point an arrow to the player in need of help? Or am I missing something?


Yes. Look at a coordinate mod in an instance. What does it read? 0,0. That function returns nil when inside an instance.



You *can* currently work out where a player in your raid is even inside instances, but it requires you target him first. I'm unsure if this is via a coordinate readout or triangulation of interact distances from multiple players, but I suspect the former since triangulation shouldn't have a targetting requirement (maybe that requirement is just a display limitation of the mod, dunno) - see http://www.wowace.com/addons/tomtomtargetarrow/

As for modus' mod idea, RDX could do all those things 3 years ago, and probably still can. It has a fair bit of overhead though (since you'd ideally replace dbm/grid/unitframes/omen/everything else with rdx), and while most things can be done via the gui and transmitted to people in your raid, the gui itself is made for a programmer more than the average WoW player.
ImageImage
1/1 Lore pre-nerf.
User avatar
fafhrd
 
Posts: 5432
Joined: Fri Aug 31, 2007 2:31 pm

Re: New Personal Project? Addon Idea

Postby moduspwnens » Fri Jul 17, 2009 10:08 am

fafhrd wrote:You *can* currently work out where a player in your raid is even inside instances, but it requires you target him first. I'm unsure if this is via a coordinate readout or triangulation of interact distances from multiple players, but I suspect the former since triangulation shouldn't have a targetting requirement (maybe that requirement is just a display limitation of the mod, dunno) - see http://www.wowace.com/addons/tomtomtargetarrow/


I just pulled out the code for that one, and it looks like the targeting requirement is enforced by the mod (good news for me).
Here's what it's calling to get coordinates, though.
Code: Select all
tc,tz,tx,ty = Astrolabe:GetUnitPosition(target, true)

It uses the same function to get the position of the player to determine direction and distance. Astrolabe is defined at the top:
Code: Select all
local Astrolabe = DongleStub("Astrolabe-0.4")

Astrolabe is a library packaged with TomTom. The code for that function is here:

Code: Select all
function Astrolabe:GetUnitPosition( unit, noMapChange )
   local x, y = GetPlayerMapPosition(unit);
   if ( x <= 0 and y <= 0 ) then
      if ( noMapChange ) then
         -- no valid position on the current map, and we aren't allowed
         -- to change map zoom, so return
         return;
      end
      local lastCont, lastZone = GetCurrentMapContinent(), GetCurrentMapZone();
      SetMapToCurrentZone();
      x, y = GetPlayerMapPosition(unit);
      if ( x <= 0 and y <= 0 ) then
         SetMapZoom(GetCurrentMapContinent());
         x, y = GetPlayerMapPosition(unit);
         if ( x <= 0 and y <= 0 ) then
            -- we are in an instance or otherwise off the continent map
            return;
         end
      end
      local C, Z = GetCurrentMapContinent(), GetCurrentMapZone();
      if ( C ~= lastCont or Z ~= lastZone ) then
         SetMapZoom(lastCont, lastZone); -- set map zoom back to what it was before
      end
      return C, Z, x, y;
   end
   return GetCurrentMapContinent(), GetCurrentMapZone(), x, y;
end

That commented line in the middle leads me to believe that it won't work in instances, but aren't battlegrounds instances? The addon even lists proportions (coordinates to distance) for all battlegrounds AND Azjol-Nerub and Ulduar. Hmm.

Actually, via WoWWiki:
    The player is inside an instance: the game will never return coordinates inside an instance. (CHANGED AS OF 3.0.1 - coordinates are returned within instances)
Looks like it's potentially possible then?

As for modus' mod idea, RDX could do all those things 3 years ago, and probably still can. It has a fair bit of overhead though (since you'd ideally replace dbm/grid/unitframes/omen/everything else with rdx), and while most things can be done via the gui and transmitted to people in your raid, the gui itself is made for a programmer more than the average WoW player.

Yeah. I did read up on this addon and it appears to me to kind of defeat its own purpose (except addon consolidation). I'm not a master of Lua, but it sure doesn't look like it's that tough of a language. At least, not tough enough that something like RDX's features would have much practical value. Here are the things the developer claims it can do:

- singleframes
- raidframes
- artframes
- action bars, rune bar
- bossmods
- tools, decursive, thread, dpsmeters, totems, prayer of mending watch, warrior shout etc

That's just way too much customizable stuff. I certainly plan for this addon to be much more reasonable and geared toward easier sharing of, well, "settings." I want it to be essentially as simple as TJH in terms of sharing and getting new "rules."

Even if RDX completely covered everything I wanted to, though, I'd still probably try to implement this. Being able to do something is rarely good enough to become widely useful. It's really the convenience in doing it that makes, well, virtually any new technology become popular. Heck, look at the iPhone. My old Treo 650 (well, with a few accessories) can do just about everything it can, and I had it for 2 1/2 years. Why wasn't it nearly as popular though? It wasn't as convenient.

Look at friggin GoToMyPC! Netmeeting has been on every PC since, what, Windows 95? And proxies have been around since probably the beginning of time. So what does some genius somewhere do? He develops software to do what you could have been doing for probably a decade, only easily. Bam. Millionaire. It's probably got some other add-on features now, but you get my point.
I rule.
moduspwnens
Moderator
 
Posts: 6211
Joined: Tue Nov 06, 2007 12:28 pm
Location: Shattered Hand

Re: New Personal Project? Addon Idea

Postby moduspwnens » Fri Jul 17, 2009 12:02 pm

I have something to shoot for (somewhat) when doing the GUI, too. If you have Outlook, it has its own "rules" and "filters" system for mail. I certainly don't consider Microsoft to be some bastion of great design, nor is this a feature the vast majority of users probably use anyway, but it at least provides a way for humans to do with email what I'm trying to get humans to be able to do with combat and chat log events. In fact, it's basically the only thing that I think limits me from getting into what RDX appears to be doing.

Here are some screenshots of me walking through creating a rule for those who don't have Outlook:

Image
Sorry they're kinda bad, I'm at my work PC using Paint to save JPEGs. I don't use Outlook on my Mac anyway.

This is the window where you can view all the rules you've made.

Image

This kinda gives you a set of halfway-started rules, which is less intimidating than listing all possible filters. You can see at the bottom how it says in plain English what it's going to do and even has an example.

Image

This is what you see if you choose to start with a completely blank rule. I didn't show it, but I chose to apply this "when a message arrives" rather than "after a message is sent." For this addon, I don't think I'd have a similar option for events... at least not as one of the first criteria. You can see that it would probably be somewhat intimidating to a new user, though, which is probably why they started out with a few practical examples you could choose from.

Image

You just check the boxes, then you click the underlined words at the bottom where it says "specified words" or "specified people" and add in your own, right into the human translation of the filter.

Image

This page shows you what you can do after the rule is triggered. You can't see that I checked "delete it" toward the top of the list, but you can see that I checked "play a sound" and chose tada.wav. This kind of page is probably something similar to what I'd have in the addon, except I'd have options like "announce this to chat" or (hopefully) "point an arrow" or "color screen border red", etc.

Image

This one shows exceptions, but I probably won't do it like Outlook does. My current line of thought is to use logical constructors, and that would probably make more sense when asking what the user wants to do.

For example, maybe it'd show something like:

Human translation:
When any enemy casts Mana Burn on anyone (except Warriors and Rogues), turn screen border red.

It just seems more cohesive for my situation to ask them when they're telling the mod who should be accepted as a target about also who they don't want to be a target. /shrug. I guess that's something I'll explore later.

Image

...and this is just basically the final options and human language summary. If I could implement something like this (with perhaps a few minor improvements), I think that would make it sufficiently convenient to create rules.
I rule.
moduspwnens
Moderator
 
Posts: 6211
Joined: Tue Nov 06, 2007 12:28 pm
Location: Shattered Hand

Re: New Personal Project? Addon Idea

Postby fafhrd » Fri Jul 17, 2009 12:35 pm

Well, the parts of RDX intented for common use are as simple to use as outlook - for instance if you just want to make a window that shows or counts all priests and druids within 10 yards of you in group 1 and 3 who have a silence debuff on them and no incoming heals, you do it by clicking through some templates then dragging and dropping a bunch of conditions into boxes for logical operations (AND, OR etc).

RDX wasn't really designed with the goal of replacing all the parts of your UI, it's just a mod that presents information. People figured out that you can represent most information displayed in things like unitframes, buff frames etc using the ui elements and info RDX had so people made replacements them everything with it. The parts of it that deal with that kind of stuff are the tech-heavy ones, and I guess over the years it's drifted more into supporting that than supporting its original purpose of collecting info about a boss you're on and letting you use it to make the best possible boss mod without writing code and reloading mods. With how quickly and freely people share boss strats and mods post-vanilla, effort going into RDX boss mods is somewhat unnecessary unless your guild is really on the absolute bleeding edge and wants to push it that much further (in which case I'm sure RDX for your whole raid is still a lot better than DBM/BigWigs).

If you keep your mod simpler and more focussed (imo as soon as you start trying for UI more complicated than some text messages and a timer bar or two things start losing focus quickly) it should be a fair bit easier to get your whole raid using it than using RDX (although the latter isn't particularly hard either, we just told people "run this or don't come").
ImageImage
1/1 Lore pre-nerf.
User avatar
fafhrd
 
Posts: 5432
Joined: Fri Aug 31, 2007 2:31 pm

Next

Return to Add-ons, UI, and Macros

Who is online

Users browsing this forum: No registered users and 1 guest

cron

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: No registered users and 1 guest