Favorite Buff Timers and such

Forum for posting custom UIs, portions of UIs, and HUD stuff using MQ's enhancements.

Moderator: MacroQuest Developers

oorglebot8000
orc pawn
orc pawn
Posts: 18
Joined: Thu Apr 14, 2005 11:41 pm

Favorite Buff Timers and such

Post by oorglebot8000 » Sun Jan 15, 2006 10:12 pm

I've been using the following code for a while - I find it to be an easy way to keep track of the buffs that I like to have up in raids and find the three closest guildies who can cast said buff if it is missing or running low. I realized that if I tried to dynamically do this stuff on the hud, it would create mass lag, so instead, I created some vars that get updated in my macro every 6 seconds (30 seconds if fighting) to display on the hud as strings. All of the "low" values can be changed in the macro portion of the code, and you'll have to manually place the hud elements if you don't like my positioning.

Anyway, here is the sample macro code, which can run by itself, but should be fairly easy to implement in other macros.

Code: Select all

Sub Main


	/declare SoHisLow int outer 0
	/declare HoPisLow int outer 0
	/declare OakisLow int outer 0
	/declare SymbisLow int outer 0
	/declare WunshiisLow int outer 0
	/declare HasteisLow int outer 0
	/declare SGisLow int outer 0
	/declare FortisLow int outer 0
	/declare LionisLow int outer 0
	/declare ChampisLow int outer 0
	/declare GrimisLow int outer 0
	/declare SIisLow int outer 0
	/declare cheaphasteisLow int outer 0
	/declare ToTisLow int outer 0
	/declare DMFisLow int outer 0
	/declare GoDisLow int outer 0
	/declare PoSisLow int outer 0
	
	/declare frisLow int outer 0
	/declare crisLow int outer 0
	/declare mrisLow int outer 0
	/declare drisLow int outer 0
	/declare prisLow int outer 0

	/declare encs string outer
	/declare clrs string outer
	/declare shms string outer
	/declare rngs string outer
	/declare drus string outer
	/declare necs string outer

	/declare dropBBB int outer 0
	/declare dropSA int outer 0
	/declare dropC int outer 0
	/declare dropAoR int outer 0
	/declare dropSV int outer 0

	/declare deadguildies int outer 0
	/declare buffchecktimer timer outer 0

  :ForeverLoop
   /doevents
	/if ((${buffchecktimer} < 240 && !${Me.Combat}) || (${buffchecktimer} == 0 && ${Me.Combat})) {
|	/echo checking buffs
	/varset buffchecktimer 30s


	/if (${SpawnCount[guild corpse]} > ${deadguildies}) /maps guild corpse
	/varset deadguildies ${SpawnCount[guild corpse]}

	/varset dropBBB outer 0
	/varset dropSA outer 0
	/varset dropC outer 0
	/varset dropAoR outer 0
	/varset dropSV outer 0

	/if (${Me.Buff["Spiritual Dominion"].ID} || ${Me.Buff["Spiritual Ascendance"].ID}) /varset dropSA 1
	/if (${Me.Buff["Hastened Thoughts"].ID} || ${Me.Buff["Aura of Devotion"].ID} || ${Me.Buff["Aura of Reverence"].ID}) /varset dropAoR 1
	/if (${Me.Buff["Brell's Brawny Bulwark"].ID} || ${Me.Buff["Brell's Stalwart Shield"].ID} || ${Me.Buff["Brell's Mountainous Barrier"].ID}) /varset dropBBB 1
	/if (${Me.Buff["Clairvoyance"].ID} || ${Me.Buff["Voice of Clairvoyance"].ID}) /varset dropC 1
	/if (${Me.Buff["Spiritual Vitality"].ID} || ${Me.Buff["Spiritual Vigor"].ID}) /varset dropSV 1

|	sample for doing a buff that has only 1 version
|	/varset isLow 0
|	/if (${Me.Buff["buff name"].Duration} < 100) /varset isLow 1
|	/if (${Me.Buff["buff name"].ID} == NULL) /varset isLow 2

|	sample for doing a buff that has 2 versions (group&single for example)
|	/varset isLow 0
|	/if ((${Me.Buff["buff 1 name"].Duration} < 100 && ${Me.Buff["buff 1 name"].ID} != NULL) || (${Me.Buff["buff 2 name"].Duration} < 100 && ${Me.Buff["buff 2 name"].ID} != NULL)) /varset isLow 1
|	/if (${Me.Buff["buff 1 name"].ID} == NULL && ${Me.Buff["buff 2 name"].ID} == NULL) /varset isLow 2


	/varset rngs ${If[${NearestSpawn[1,guild ranger].ID},${NearestSpawn[1,ranger guild]} ,]}${If[${NearestSpawn[2,guild ranger].ID},${NearestSpawn[2,ranger guild]} ,]}${If[${NearestSpawn[3,guild ranger].ID},${NearestSpawn[3,ranger guild]} ,]}
	/varset encs ${If[${NearestSpawn[1,guild enc].ID},${NearestSpawn[1,enc guild]} ,]}${If[${NearestSpawn[2,guild enc].ID},${NearestSpawn[2,enc guild]} ,]}${If[${NearestSpawn[3,guild enc].ID},${NearestSpawn[3,enc guild]} ,]}
	/varset clrs ${If[${NearestSpawn[1,guild clr].ID},${NearestSpawn[1,clr guild]} ,]}${If[${NearestSpawn[2,guild clr].ID},${NearestSpawn[2,clr guild]} ,]}${If[${NearestSpawn[3,guild clr].ID},${NearestSpawn[3,clr guild]} ,]}
	/varset drus ${If[${NearestSpawn[1,guild druid].ID},${NearestSpawn[1,druid guild]} ,]}${If[${NearestSpawn[2,guild druid].ID},${NearestSpawn[2,druid guild]} ,]}${If[${NearestSpawn[3,guild druid].ID},${NearestSpawn[3,druid guild]} ,]}
	/varset shms ${If[${NearestSpawn[1,guild shm].ID},${NearestSpawn[1,shm guild]} ,]}${If[${NearestSpawn[2,guild shm].ID},${NearestSpawn[2,shm guild]} ,]}${If[${NearestSpawn[3,guild shm].ID},${NearestSpawn[3,shm guild]} ,]}
	/varset necs ${If[${NearestSpawn[1,guild nec].ID},${NearestSpawn[1,nec guild]} ,]}${If[${NearestSpawn[2,guild nec].ID},${NearestSpawn[2,nec guild]} ,]}${If[${NearestSpawn[3,guild nec].ID},${NearestSpawn[3,nec guild]} ,]}

	/varset SIisLow 0
	/if (${Me.Buff["See Invisible"].Duration} < 100) /varset SIisLow 1
	/if (${Me.Buff["See Invisible"].ID} == NULL) /varset SIisLow 2

	/varset cheaphasteisLow 0
	/if (${Me.Buff["Miraculous Visions"].Duration} < 50 && ${Me.Buff["Aura of Rage"].ID} && ${Me.Buff["Celerity"].ID} == NULL && ${Me.Buff["Speed of Salik"].ID} == NULL && ${Me.Buff["Hastening of Salik"].ID} == NULL && ${Me.Buff["Talisman of Alacrity"].ID} == NULL) /varset cheaphasteisLow 1
	/if (${Me.Buff["Miraculous Visions"].ID} == NULL && ${Me.Buff["Celerity"].ID} == NULL && ${Me.Buff["Speed of Salik"].ID} == NULL && ${Me.Buff["Hastening of Salik"].ID} == NULL && ${Me.Buff["Talisman of Alacrity"].ID} == NULL) /varset cheaphasteisLow 2

	/varset GrimisLow 0
	/if (${Me.Buff["Aura of Rage"].Duration} < 50 && ${Me.Buff["Aura of Rage"].ID}) /varset GrimisLow 1
	/if (${Me.Buff["Aura of Rage"].ID} == NULL && ${Me.Buff["Strength of the Hunter"].ID} == NULL && ${Me.Buff["Spiritual Vitality"].ID} == NULL) /varset GrimisLow 2

	/varset ChampisLow 0
	/if (${Me.Buff["Champion"].Duration} < 30) /varset ChampisLow 1
	/if (${Me.Buff["Champion"].ID} == NULL) /varset ChampisLow 2

	/varset LionisLow 0
	/if ((${Me.Buff["Lion's Strength"].Duration} < 150 && ${Me.Buff["Lion's Strength"].ID} != NULL) || (${Me.Buff["Spirit of Might"].Duration} < 150 && ${Me.Buff["Spirit of Might"].ID} != NULL) || (${Me.Buff["Talisman of Might"].Duration} < 150 && ${Me.Buff["Talisman of Might"].ID} != NULL)) /varset LionisLow 1
	/if (${Me.Buff["Lion's Strength"].ID} == NULL && ${Me.Buff["Spirit of Might"].ID} == NULL && ${Me.Buff["Champion"].ID} == NULL && ${Me.Buff["Talisman of Might"].ID} == NULL) /varset LionisLow 2

	/varset FortisLow 0
	/if ((${Me.Buff["Spirit of Fortitude"].Duration} < 150 && ${Me.Buff["Spirit of Fortitude"].ID} != NULL) || (${Me.Buff["Talisman of Fortitude"].Duration} < 150 && ${Me.Buff["Talisman of Fortitude"].ID} != NULL)) /varset FortisLow 1
	/if (${Me.Buff["Spirit of Fortitude"].ID} == NULL && ${Me.Buff["Talisman of Fortitude"].ID} == NULL) /varset FortisLow 2

	/varset HasteisLow 0
	/if ((${Me.Buff["Hastening of Salik"].Duration} < 150 && ${Me.Buff["Hastening of Salik"].ID} != NULL) || (${Me.Buff["Speed of Salik"].Duration} < 150 && ${Me.Buff["Speed of Salik"].ID} != NULL)) /varset HasteisLow 1
	/if (${Me.Buff["Hastening of Salik"].ID} == NULL && ${Me.Buff["Speed of Salik"].ID} == NULL) /varset HasteisLow 2

	/varset WunshiisLow 0
	/if ((${Me.Buff["Talisman of Wunshi"].Duration} < 200 && ${Me.Buff["Talisman of Wunshi"].ID} != NULL) || (${Me.Buff["Wunshi's Focusing"].Duration} < 200 && ${Me.Buff["Wunshi's Focusing"].ID} != NULL)) /varset WunshiisLow 1
	/if (${Me.Buff["Talisman of Wunshi"].ID} == NULL && ${Me.Buff["Wunshi's Focusing"].ID} == NULL) /varset WunshiisLow 2

	/varset SymbisLow 0
	/if ((${Me.Buff["Balikor's Mark"].Duration} < 200 && ${Me.Buff["Balikor's Mark"].ID} != NULL) || (${Me.Buff["Symbol of Balikor"].Duration} < 200 && ${Me.Buff["Symbol of Balikor"].ID} != NULL)) /varset SymbisLow 1
	/if (${Me.Buff["Balikor's Mark"].ID} == NULL && ${Me.Buff["Symbol of Balikor"].ID} == NULL && ${Me.Buff["Conviction"].ID} == NULL && ${Me.Buff["Hand of Conviction"].ID} == NULL) /varset SymbisLow 2

	/varset OakisLow 0
	/if ((${Me.Buff["Blessing of Steeloak"].Duration} < 200 && ${Me.Buff["Blessing of Steeloak"].ID} != NULL) || (${Me.Buff["Steeloak Skin"].Duration} < 200 && ${Me.Buff["Steeloak Skin"].ID} != NULL)) /varset OakisLow 1
	/if (${Me.Buff["Blessing of Steeloak"].ID} == NULL && ${Me.Buff["Steeloak Skin"].ID} == NULL && ${Me.Buff["Conviction"].ID} == NULL && ${Me.Buff["Hand of Conviction"].ID} == NULL) /varset OakisLow 2

	/varset HoPisLow 0
	/if (${Me.Buff["Howl of the Predator"].Duration} < 200) /varset HoPisLow 1
	/if (${Me.Buff["Howl of the Predator"].ID} == NULL) /varset HoPisLow 2

	/varset SoHisLow 0
	/if (${Me.Buff["Strength of the Hunter"].Duration} < 200) /varset SoHisLow 1
	/if (${Me.Buff["Strength of the Hunter"].ID} == NULL) /varset SoHisLow 2

	/varset SGisLow 0
	/if (${Me.Buff["Savage Guard"].Duration} < 100) /varset SGisLow 1
	/if (${Me.Buff["Savage Guard"].ID} == NULL) /varset SGisLow 2

	/varset frisLow 0
	/if (${Me.Buff["Aura of Burning Arcanum"].Duration} < 100) /varset frisLow 1
	/if (${Me.Buff["Aura of Burning Arcanum"].ID} == NULL) /varset frisLow 2

	/varset crisLow 0
	/if (${Me.Buff["Aura of Freezing Arcanum"].Duration} < 100) /varset crisLow 1
	/if (${Me.Buff["Aura of Freezing Arcanum"].ID} == NULL) /varset crisLow 2

	/varset mrisLow 0
	/if (${Me.Buff["Aura of Thundering Arcanum"].Duration} < 100) /varset mrisLow 1
	/if (${Me.Buff["Aura of Thundering Arcanum"].ID} == NULL) /varset mrisLow 2

	/varset drisLow 0
	/if (${Me.Buff["Aura of Blight Arcanum"].Duration} < 100) /varset drisLow 1
	/if (${Me.Buff["Aura of Blight Arcanum"].ID} == NULL) /varset drisLow 2

	/varset prisLow 0
	/if (${Me.Buff["Aura of Venemous Arcanum"].Duration} < 100) /varset prisLow 1
	/if (${Me.Buff["Aura of Venemous Arcanum"].ID} == NULL) /varset prisLow 2

	/varset ToTisLow 0
	/if (${Me.Buff["Talisman of the Tribunal"].Duration} < 100) /varset ToTisLow 1
	/if (${Me.Buff["Talisman of the Tribunal"].ID} == NULL) /varset ToTisLow 2

	/varset GoDisLow 0
	/if (${Me.Buff["Guard of Druzzil"].Duration} < 100) /varset GoDisLow 1
	/if (${Me.Buff["Guard of Druzzil"].ID} == NULL) /varset GoDisLow 2

	/varset PoSisLow 0
	/if (${Me.Buff["Protection of Seasons"].Duration} < 100) /varset PoSisLow 1
	/if (${Me.Buff["Protection of Seasons"].ID} == NULL) /varset PoSisLow 2

	/varset DMFisLow 0
	/if ((${Me.Buff["Dead Men Floating"].Duration} < 200 && ${Me.Buff["Dead Men Floating"].ID} != NULL) || (${Me.Buff["Dead Man Floating"].Duration} < 200 && ${Me.Buff["Dead Man Floating"].ID} != NULL)) /varset DMFisLow 1
	/if (${Me.Buff["Dead Men Floating"].ID} == NULL && ${Me.Buff["Dead Man Floating"].ID} == NULL) /varset DMFisLow 2

	}
  /goto :ForeverLoop
/return
Once that is running in a macro, you can add the following hud elements

Code: Select all

;fr=3,230,290,255,255,255,${If[${frisLow} == 1,FR ${Me.Buff["Aura of Burning Arcanum"].Duration.Time},]}
;fr2=3,230,290,255,255,255,${If[${frisLow} == 2,FR Missing,]}
;cr=3,230,302,255,255,255,${If[${crisLow} == 1,CR ${Me.Buff["Aura of Freezing Arcanum"].Duration.Time},]}
;cr2=3,230,302,255,255,255,${If[${crisLow} == 2,CR Missing,]}
;mr=3,230,314,255,255,255,${If[${mrisLow} == 1,MR ${Me.Buff["Aura of Thundering Arcanum"].Duration.Time},]}
;mr2=3,230,314,255,255,255,${If[${mrisLow} == 2,MR Missing,]}
dr=3,230,326,255,255,255,${If[${drisLow} == 1,DR ${Me.Buff["Aura of Blight Arcanum"].Duration.Time},]}
dr2=3,230,326,255,255,255,${If[${drisLow} == 2,DR Missing,]}
;pr=3,230,338,255,255,255,${If[${prisLow} == 1,PR ${Me.Buff["Aura of Venemous Arcanum"].Duration.Time},]}
;pr2=3,230,338,255,255,255,${If[${prisLow} == 2,PR Missing,]}

SoH=3,3,290,255,255,255,${If[${SoHisLow} == 1,SoH ${Me.Buff["Strength of the Hunter"].Duration.Time} ${rngs},]}
SoH2=3,3,290,255,255,255,${If[${SoHisLow} == 2,SoH Missing  ${rngs},]}
HoP=3,3,302,255,255,255,${If[${HoPisLow} == 1,HoP ${Me.Buff["Howl of the Predator"].Duration.Time} ${rngs},]}
HoP2=3,3,302,255,255,255,${If[${HoPisLow} == 2,HoP Missing  ${rngs},]}
Oak=3,3,314,255,255,255,${If[${OakisLow} == 1,Oak ${If[${Me.Buff["Blessing of Steeloak"].ID},${Me.Buff["Blessing of Steeloak"].Duration.Time},${Me.Buff["Steeloak Skin"].Duration.Time}]} ${drus},]}
Oak2=3,3,314,255,255,255,${If[${OakisLow} == 2,Oak Missing ${drus},]}
Sym=3,3,326,255,255,255,${If[${SymbisLow} == 1,Symbol ${If[${Me.Buff["Balikor's Mark"].ID},${Me.Buff["Balikor's Mark"].Duration.Time},${Me.Buff["Symbol of Balikor"].Duration.Time}]} ${clrs},]}
Sym2=3,3,326,255,255,255,${If[${SymbisLow} == 2,Symbol Missing ${clrs},]}
Wun=3,3,338,255,255,255,${If[${WunshiisLow} == 1,Wunshi ${If[${Me.Buff["Talisman of Wunshi"].ID},${Me.Buff["Talisman of Wunshi"].Duration.Time},${Me.Buff["Wunshi's Focusing"].Duration.Time}]} ${shms},]}
Wun2=3,3,338,255,255,255,${If[${WunshiisLow} == 2,Wunshi Missing ${shms},]}
Has=3,3,350,255,255,255,${If[${HasteisLow} == 1,Haste ${If[${Me.Buff["Hastening of Salik"].ID},${Me.Buff["Hastening of Salik"].Duration.Time},${Me.Buff["Speed of Salik"].Duration.Time}]} ${encs},]}
Has2=3,3,350,255,255,255,${If[${HasteisLow} == 2,Haste Missing ${encs},]}
For=3,3,362,255,255,255,${If[${FortisLow} == 1,Fort ${If[${Me.Buff["Spirit of Fortitude"].ID},${Me.Buff["Spirit of Fortitude"].Duration.Time},${Me.Buff["Talisman of Fortitude"].Duration.Time}]} ${shms},]}
For2=3,3,362,255,255,255,${If[${FortisLow} == 2,Fort Missing ${shms},]}
Lio=3,3,374,255,255,255,${If[${LionisLow} == 1,Lion's ${If[${Me.Buff["Lion's Strength"].ID},${Me.Buff["Lion's Strength"].Duration.Time},${Me.Buff["Spirit of Might"].Duration.Time}]} ${drus} ${shms},]}
Lio2=3,3,374,255,255,255,${If[${LionisLow} == 2,Lion's Missing ${drus} ${shms},]}
Champ=3,3,386,255,255,255,${If[${ChampisLow} == 1,Champ ${Me.Buff["Champion"].Duration.Time} ${shms},]}
Grim=3,3,398,255,255,255,${If[${GrimisLow} == 1,Grim ${Me.Buff["Aura of Rage"].Duration.Time},]}
Grim2=3,3,398,255,255,255,${If[${GrimisLow} == 2,Grim Missing,]}
SI=3,3,410,255,255,255,${If[${SIisLow} == 1,SI ${Me.Buff["See Invisible"].Duration.Time},]}
SI2=3,3,410,255,255,255,${If[${SIisLow} == 2,SI Missing,]}
SG=3,3,422,255,255,255,${If[${SGisLow} == 1,SG ${Me.Buff["Savage Guard"].Duration.Time},]}
SG2=3,3,422,255,255,255,${If[${SGisLow} == 2,SG Missing,]}
CH=3,3,434,255,255,255,${If[${cheaphasteisLow} == 1,MV ${Me.Buff["Miraculous Visions"].Duration.Time},]}
CH2=3,3,434,255,255,255,${If[${cheaphasteisLow} == 2,MV Missing,]}

ToT=3,3,446,255,255,255,${If[${ToTisLow} == 1,ToT ${Me.Buff["Talisman of the Tribunal"].Duration.Time} ${shms},]}
ToT2=3,3,446,255,255,255,${If[${ToTisLow} == 2,ToT Missing ${shms},]}
GoD=3,3,458,255,255,255,${If[${GoDisLow} == 1,GoD ${Me.Buff["Guard of Druzzil"].Duration.Time} ${encs},]}
GoD2=3,3,458,255,255,255,${If[${GoDisLow} == 2,GoD Missing ${encs},]}
PoS=3,3,470,255,255,255,${If[${PoSisLow} == 1,PoS ${Me.Buff["Protection of Seasons"].Duration.Time} ${drus},]}
PoS2=3,3,470,255,255,255,${If[${PoSisLow} == 2,PoS Missing ${drus},]}
DMF=3,3,482,255,255,255,${If[${DMFisLow} == 1,DMF ${If[${Me.Buff["Dead Men Floating"].ID},${Me.Buff["Dead Men Floating"].Duration.Time},${Me.Buff["Dead Man Floating"].Duration.Time}]} ${necs},]}
DMF2=3,3,482,255,255,255,${If[${DMFisLow} == 2,DMF Missing ${necs},]}

dropBBB=3,350,290,255,255,255,${If[${dropBBB} == 1,Drop BBB!,]}
dropSA=3,350,302,255,255,255,${If[${dropSA} == 1,Drop SA!,]}
dropC=3,350,314,255,255,255,${If[${dropC} == 1,Drop C!,]}
dropAoR=3,350,326,255,255,255,${If[${dropAoR} == 1,Drop AoR!,]}
dropSV=3,350,338,255,255,255,${If[${dropSV} == 1,Drop SV!,]}
The code is provided as I (a rogue) use it, and as such, I have messages to tell me to click off BBB/SV if they get cast in me instead of SoH/HoP, but hopefully the code is adaptable for your own tastes in buffs :). Anyway, I'd love to see some comments or suggestions in efficiency or perhaps a better way to handle buffs that stack.

A_Druid_00
Macro Maker Extraordinaire
Posts: 2378
Joined: Tue Jul 13, 2004 12:45 pm
Location: Rolling on the Lawn Farting

Post by A_Druid_00 » Sun Jan 15, 2006 10:51 pm

Spiffy. I use QuickBeg.inc to handle begging for buffs and MQ2BuffBlock to click off unwanted buffs myself, but it's nice if you don't want to automate sending tells for buffs. :D I haven't sent a tell manually for a buff in well over a year though, I'm lazy like that.

It's a pain working the stacking in with .Duration, but if you just use ${Spell[blah].Stacks} you can lose a lot of the redundant checks. For example:

Code: Select all

   /if ((${Me.Buff["Balikor's Mark"].Duration} < 200 && ${Me.Buff["Balikor's Mark"].ID} != NULL) || (${Me.Buff["Symbol of Balikor"].Duration} < 200 && ${Me.Buff["Symbol of Balikor"].ID} != NULL)) /varset SymbisLow 1 
Can become:

Code: Select all

   /if (${Me.Buff[Balikor's Mark].Stacks}) /varset SymbisLow 1 
Also, you don't need quotation marks around the spell names using ${Spell, everything in that string is going to get evaluated regardless.

Edit: One more thing.

Code: Select all

${Me.Buff["Dead Man Floating"].ID} == NULL
isn't right. A string cannot be used with numeric evaluations such as ==. NULL is the absence of a value. You're better off considering a NULL return as a blank, or even 0 return. All you have to do is:

Code: Select all

!${Me.Buff[Dead Man Floating].ID}
That will evaluate TRUE if you do NOT have the buff "Dead Man Floating".
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]

oorglebot8000
orc pawn
orc pawn
Posts: 18
Joined: Thu Apr 14, 2005 11:41 pm

Post by oorglebot8000 » Sun Jan 15, 2006 11:12 pm

Ahh, thank you very much! Good catch on the DMF thing - I actually made this over half a year ago and just added in the resist buffs, not sure how I missed that nonetheless.

kegyen
decaying skeleton
decaying skeleton
Posts: 1
Joined: Mon Sep 15, 2008 5:47 pm
Location: Grand FOrks, ND
Contact:

QuickBeg.inc

Post by kegyen » Mon Sep 15, 2008 5:54 pm

where can i find QuickBeg.inc

User avatar
MQWatcher
a ghoul
a ghoul
Posts: 113
Joined: Sun Jan 21, 2007 8:22 am

Re: QuickBeg.inc

Post by MQWatcher » Mon Sep 15, 2008 6:47 pm

kegyen wrote:where can i find QuickBeg.inc
Here

xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 8:54 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 8:55 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 8:56 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 8:57 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 8:59 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 9:00 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 9:01 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 9:02 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 9:03 am


xyilla
naggy
naggy
Posts: 33673
Joined: Sun Feb 23, 2025 5:36 am

Re: Favorite Buff Timers and such

Post by xyilla » Wed Jul 02, 2025 9:04 am