Bristlebane's Party Favor - Bristlebane's Favor

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

caj
a hill giant
a hill giant
Posts: 244
Joined: Tue Sep 12, 2006 9:35 am

Bristlebane's Party Favor - Bristlebane's Favor

Post by caj » Sat May 04, 2019 9:52 am

A macro I wrote a few years back to track the Bristlebane's Party machine, enjoy.

update; apparently Daybreak has thrown a curve ball since the original quest was introduced. Each server is set up differently and the party machine will be in a different zone, you will have to adjust the /varset inzone # accordingly or figure out the /varcalc for your server.

Code: Select all

|written by caj
|this macro is for the Anniversary quest "Bristlebane's Party Favor - Bristlebane's Favor"
|As long as all zones have been up and running with out a reset of some kind, the macro will tell 
|you where the machine is and where it will go without issue. Otherwise, run the macro
|in the POK zone for consistency.
|Note: apparently Daybreak has thrown a curve ball since the original quest was introduced.
| Each server is set up differently and the party machine will be in a different zone, you will
| have to adjust the /varset inzone # accordingly or figure out the /varcalc for your server. 

#turbo 40
#event tmr "#*#This zone has been running for #1#:#2#:#3#:#4#"

Sub Main
/declare tday float outer
/declare totl int outer
/declare nxtmn int outer
/declare partyzone float outer
/declare inzone string outer

/uptime
/delay 2s

/doevents
/call whatzone
/echo the party machine is in ${inzone}
/varcalc partyzone ${Math.Calc[${partyzone}+1]}
/call whatzone
/echo The party machine should be in ${inzone} in the next ${nxtmn} mins
/end


sub event_tmr(int,Dys,Hrs,Mns)
  /delay 1s
  /echo The tottal time this zone (${Zone.Name}) has been up is: ${Dys} Days, ${Hrs} Hours, ${Mns} Min.
  /varcalc tday (${Math.Calc[${Dys}*24]}+${Hrs})/20
  /varcalc totl (${Math.Calc[${Dys}*24]}+${Hrs})/20
  /varcalc partyzone ${Math.Calc[${tday}-${totl}]}*20
  /varcalc nxtmn ${Math.Calc[60-${Mns}]}
/return
  
sub whatzone
  /if (${partyzone}==0) /varset inzone 1) Steamfont (SE area)
  /if (${partyzone}==1) /varset inzone 2) Butcherblock (on path south from Kaladim)
  /if (${partyzone}==2) /varset inzone 3) Qeynos Hills (west side of zone, south of the pond)
  /if (${partyzone}==3) /varset inzone 4) South Ro (Spectre island)
  /if (${partyzone}==4) /varset inzone 5) Everfrost (Halas area)
  /if (${partyzone}==5) /varset inzone 6) Erudin (docks area)
  /if (${partyzone}==6) /varset inzone 7) Feerott (Druid Ring area)
  /if (${partyzone}==7) /varset inzone 8 )Field of Bone (near Cabilis)
  /if (${partyzone}==8) /varset inzone 9) Shar Vahl (bridge on Shadeweaver side)
  /if (${partyzone}==9) /varset inzone 10) GFay (under Kelethin)
  /if (${partyzone}==10) /varset inzone 11) Nektulos (Wizard spire)
  /if (${partyzone}==11) /varset inzone 12) Rathe Mountains (old Hill Giant area)
  /if (${partyzone}==12) /varset inzone 13) Misty Thicket (on center wall)
  /if (${partyzone}==13) /varset inzone 14) Natimbi (at beach/in water)
  /if (${partyzone}==14) /varset inzone 15) Highpass (at Highpass Keep)
  /if (${partyzone}==15) /varset inzone 16) Crescent Reach (near dragon tree area)
  /if (${partyzone}==16) /varset inzone 17) Dragonscale Hills (near the farm)
  /if (${partyzone}==17) /varset inzone 18) Dawnshroud (near Sanctus Seru)
  /if (${partyzone}==18) /varset inzone 19) Cobalt Scar (on the beach)
  /if (${partyzone}==19) /varset inzone 20) Barren Coast (near docks)
/return