Page 1 of 1

Idea: Disc/AA/Skill status

Posted: Wed Dec 03, 2003 8:26 pm
by distler
Anyone know of some way to implement the status of skills in UI?
Skills like MBG, mend, paragon, feign death, mele disciplines and such?

Would be nice to be able to add info looking like this:

MBG: 21:42

Meaning MBG will be available in 21 minutes 42 seconds
And possibly when available it would change to YES or NOW.

Any thoughts or ideas how to implement this?

Posted: Thu Dec 04, 2003 9:05 pm
by Elric
Maybe something as simple as adding some timers? I mean, most AAs have the time it takes to recharge the ability listed UNDER the ability itself.

Don't see how it would be TOO hard to implement, if it's not already. Would behave the same way as buff timers do, except these wouldn't be based on level or focus effects, too.

Posted: Fri Dec 05, 2003 12:22 am
by Programmer
I can't recall the details, but there is a $variable you can check for hotkey'd items (they probably must be on the frontmost page, but you can /press keys to bring whatever page is needed to the front) to determine their readyness state. I haven't used it other than playing with it after reading some source code, but for the hide skill, for example, it accurately reflected whether the button was in use (it will be in use until it is usable again) or not. I would imagine this would work with AA based hotkeys as well.

Posted: Thu Dec 11, 2003 10:06 am
by EQWeasel
Programmer:

But if you /press the key to test when your AA/disc is ready, and it is ready, it would activate (unless there is a check hotkey command). Since the AA Window (default) has the time for repop displayed there, and each AA has an unique code, any MQ2 UI experts want to give us some sample code to be able to list the AAs you want and the time for repop.

Custom Player Tab under Pet Window:

Caster Example
------------------
Divine Resurrection 324:23
Celestial Renewal 11:24
Divine Arbitration 1:23
Radiant Cure 4:11
Bestow Divine Aura 72:42

And with the pure melee changes coming soon

Pure Melee Example
-----------------------
Stonestance 3:51
Inner Flame 25:17
Voiddance 17:29
etc...

The discs also could not be hardcoded unless the new disc system changes that. The /discs repop do adjust based on what level you are.

Any ideas or thoughts?

EQWeasel

not quite sure

Posted: Thu Dec 11, 2003 10:35 am
by jumpyfrog
I havnt been coding macroquest at all but from looking at some of the .h and .cpp files it certainly seems possible. However even if it were not possible to gather that information from the client somehow an aftificial(which would make it possibly innaccurate) timer could be added that starts when the skill is used and then uses known skill timers to verify when it is back up. The second solution is a load more work since you would need to have a fairly extensive list of skills and then also be aware of character aa abilities that can perhaps reduce those skill timers.

Posted: Thu Dec 11, 2003 11:16 am
by EQWeasel
The normal AAXP window has a label called Timer which displays the AA that you have selected. Any EQ/MQ2 experts out there know how to parse all the timers currently running on the AAs you have?

Timer:
<Label item="AAW_Timer">
<ScreenID>Timer</ScreenID>
<RelativePosition>true</RelativePosition>
<Location>
<X>383</X>
<Y>327</Y>
</Location>
<Size>
<CX>100</CX>
<CY>14</CY>
</Size>
<Text />
<TextColor>
<R>51</R>
<G>204</G>
<B>51</B>
</TextColor>
<NoWrap>true</NoWrap>
<AlignCenter>true</AlignCenter>
<AlignRight>false</AlignRight>
</Label>

Very clueless but I hope I am asking the questions the right way...

EQWeasel

Posted: Thu Dec 11, 2003 12:24 pm
by Programmer
But if you /press the key to test when your AA/disc is ready, and it is ready, it would activate
I didn't make my thoughts clear enough. I didn't mean to /press the number 1-0 for the key itself, I meant to /press shift+1-0 (as a page number) to bring that bank of hotkeys to the front. With the correct bank at the front, the variable to determine if hotkey X is available would be able to operate.

I agree that this is not the best way and that the client has values stored away for reuse timers, not only on aa abilities but normal abilities and spell recasts also. I'm not aware of those values being located and made available within MQ yet though.

Posted: Thu Dec 11, 2003 12:57 pm
by EQWeasel
Programmer:

Gotcha, sorry that I read your post incorrectly. I was hoping to stay clear of hotkeys for this check. I think we can get what we want without having to have the hotkey bank with the AAs at the top. This would help people with customized AA msgs also.

Example:
line 1: /alt activate 35 (MGB)
line 2: /alt activate 185 (SotW)
line 3: /rs Mass SotW Fired

For people that have hotkeys like this, there is NO way to tell if your MGB or SoTW (or whatever AA) is ready since it is a custom hotkey and will always display "unpressed". Currently I have my AA hotkeys on a seperate bank that I have to switch to, to see if they are up..and switch back to my main window to get the raid message and proper order (Celestial Renewal + MGB, SoTW+MGB, Paragon+MGB, etc). Having a customized list of your timed AAs in a player/pet window is what I am looking for, and I think that is what distler originally posted.

I am still quite new to MQ2 and the code structure, but I did find a two lines that might mean that MQ2 is capturing and making this info avail.

EQLIB_OBJECT unsigned long AltAdvManager::GetCalculatedTimer(class EQ_PC *,int);
&
EQLIB_OBJECT bool AltAdvManager::IsAbilityReady(class EQ_PC *,int const &,int *);

Ability ready and Calculated Timer, that is exactly what we want. Any MQ2 experts out there with a few mins to help us implement this code into a customed UI window?

EQWeasel