Rikki

Status
Not open for further replies.

gladimus

New member
Joined
Jan 3, 2006
Messages
344
Reaction score
0
Points
0
Taron need you help or Booges adapting a mac for Rikki, Booges wrote a macro for Trial of foresight i am trying to adapt it so as my first macro here goes. i need help with the move commands

Code:
|------------------ Rikkukin.mac -----------------| 
|--------------------- 8/16/06 -------------------| 
|Macro by Gladimus


#Chat Chat 
#event goLeft "#*#Rikkukin pulls his right arm back, preparing to cut a swathe through his opponents with his razor sharp claws.#*#" 
#event goRight "#*#Rikkukin pulls his left arm back, preparing to cut a swathe through his opponents with his razor sharp claws.#*#" 
#event goBack "#*#Rikkukin rears backs and fills his lungs, preparing to exhale a cone of ice.#*#" 
#event goFront "#*#Rikkukin twirls his tail, preparing to sweat away those foolish enough to take up position behind him.#*#" 
#event goTurn "#*#Rikkukin twists his body so that the ambient light starts to reflect from his silvery scales.#*#" 


Sub Main 

|--------------- READ THIS SECTION AND EDIT -----------------| 

/declare Verbose	outer 0
/declare raidchannel 	string outer CHANNEL


|---------------------------------------------------------------| 

/declare useExch	outer
/declare useMove	outer
/declare leftFlag	string outer 0
/declare rightFlag 	string outer 0
/declare backFlag 	string outer 0
/declare frontFlag	string outer 0
/declare turnFlag 	string outer 0


/If (${Bool[${Plugin[mq2exchange]}]}) /varset useExch 1
/If (${Bool[${Plugin[mq2moveutils]}]}) /varset useMove 1
/If (${raidchannel}) /join ${raidchannel} 

/If (!${useExch}) /echo Warning! You do not have MQ2Exchange Loaded
/If (!${useMove}) /echo Warning! You do not have MQ2MoveUtils Loaded
 :mainloop 
/doevents 
/goto :mainloop 

|---------------- Emote Trigger ------------------------| 
Sub Event_goLeft
   /varset leftFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::LEFT::::: 
   /popup MOVE LEFT
   /If (${useMove}==1) /MoveTo loc ${} 
:wait1
   /doevents stopLeft
   /goto :wait1
/return 

Sub Event_goRight 
   /varset RightFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::RIGHT:::::
   /popup MOVE RIGHT! 
   /If (${useMove}==1) /MoveTo loc ${} 
:wait2
   /doevents stopRight
   /goto :wait2
/return 

Sub Event_goBack 
   /varset backFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::BEHIND::::: 
   /popup MOVE BEHIND 
   /If (${useMove}==1) /MoveTo loc ${} 
:wait3
   /doevents stopBack
   /goto :wait3
/return 

Sub Event_goFront 
   /varset frontFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::FRONT::::: 
   /popup MOVE FRONT! 
   /If (${useMove}==1) /MoveTo loc ${} 
:wait4
   /doevents stopFront
   /goto :wait4
/return 

Sub Event_goTurn
   /varset TurnFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) TURN::::::AWAY 
   /popup TURN AWAY! 
   /If (${useMove}==1) /MoveTo loc ${} 
:wait5
   /doevents stopTurn
   /goto :wait5
/return 


|------------ Emote Complete --------------| 

Sub event_stopLeft
  /varset leftFlag 0 
  /doevents flush
/return 

Sub event_stopRight 
  /varset rightFlag 0 
  /doevents flush
/return 

Sub event_stopBack 
  /varset backFlag 0 
  /doevents flush
/return 

Sub event_stopFront 
  /varset frontFlag 0 
  /doevents flush
/return 

Sub event_stopTurn 
  /varset turnFlag 0 
  /doevents flush
/return
 
As usual, I am not familiar with the event. So I don't know if:
You have to move to certain locs, or within a proximity of it
You have to move left/right a certain distance
If turnaway means to face away from, or to move to a certain loc
If you need to return to your original location each time
etc etc.

That being said, here is the basic layout so far assuming that each emote is a hardcoded location. It's easy enough to add a slighly random amount to the loc so you don't have 5 toons piled on each other if they are all running the macro. I also shortened the emotes, since I believe there was a typo in one, and the shorter the better. #*# in an event means "I don't care what comes next/previous, so long as what I have typed matches".

Also the moveto locations are zero'd out. You will want to replace those with the proper Y X locs.

Code:
|------------------ Rikkukin.mac -----------------| 
|--------------------- 8/16/06 -------------------| 
|Macro by Gladimus


#Chat Chat 
#event goLeft "Rikkukin pulls his right arm [COLOR="Lime"]back#*#[/COLOR]" 
#event goRight "Rikkukin pulls his left arm [COLOR="lime"]back#*#[/COLOR]"
#event goBack "Rikkukin rears backs and fills his [COLOR="lime"]lungs#*#[/COLOR]"
#event goFront "Rikkukin twirls his [COLOR="lime"]tail#*#[/COLOR]"
#event goTurn "Rikkukin twists his body so that the ambient [COLOR="lime"]light#*#[/COLOR]"


Sub Main 

|--------------- READ THIS SECTION AND EDIT -----------------| 

/declare Verbose	outer 0
/declare raidchannel 	string outer CHANNEL


|---------------------------------------------------------------| 


/declare useMove	outer
/declare leftFlag	string outer 0
/declare rightFlag 	string outer 0
/declare backFlag 	string outer 0
/declare frontFlag	string outer 0
/declare turnFlag 	string outer 0


[COLOR="lime"]/If (${Bool[${Plugin[mq2moveutils]}]}) {
    /echo Warning! You do not have MQ2MoveUtils Loaded!
    /echo Macro will now end!
    /squelch /end
}[/COLOR]
/If (${raidchannel}) /join ${raidchannel} 

 :mainloop 
/doevents 
/goto :mainloop 

|---------------- Emote Trigger ------------------------| 
Sub Event_goLeft
   /varset leftFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::LEFT::::: 
   /popup MOVE LEFT
   /MoveTo [COLOR="lime"]loc 0 0
:wait
   /if (${Me.Moving}) /goto :wait[/COLOR]
/return 

Sub Event_goRight 
   /varset RightFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::RIGHT:::::
   /popup MOVE RIGHT! 
   /MoveTo [COLOR="lime"]loc 0 0 
:wait
   /if (${Me.Moving}) /goto :wait[/COLOR]
/return 

Sub Event_goBack 
   /varset backFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::BEHIND::::: 
   /popup MOVE BEHIND 
   /MoveTo [COLOR="lime"]loc 0 0
:wait
   /if (${Me.Moving}) /goto :wait[/COLOR]
/return 

Sub Event_goFront 
   /varset frontFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) MOVE:::::FRONT::::: 
   /popup MOVE FRONT! 
   /MoveTo [COLOR="lime"]loc 0 0
:wait
   /if (${Me.Moving}) /goto :wait[/COLOR]
/return 

Sub Event_goTurn
   /varset TurnFlag 1 
   /If (${Verbose}) /chat #(${raidchannel}) TURN::::::AWAY 
   /popup TURN AWAY! 
   /MoveTo [COLOR="lime"]loc 0 0
:wait
   /if (${Me.Moving}) /goto :wait[/COLOR]
/return 


|------------ Emote Complete --------------| 

Sub event_stopLeft
  /varset leftFlag 0 
  /doevents flush
/return 

Sub event_stopRight 
  /varset rightFlag 0 
  /doevents flush
/return 

Sub event_stopBack 
  /varset backFlag 0 
  /doevents flush
/return 

Sub event_stopFront 
  /varset frontFlag 0 
  /doevents flush
/return 

Sub event_stopTurn 
  /varset turnFlag 0 
  /doevents flush
/return

I noticed you were checking for mq2exchange, but never using it so I removed that. Also you were checking for mq2moveutils, and going on even if it wasn't loaded.. but the macro couldn't do anything, so I chopped that part out and made it simply end if the plugin isn't loaded.

If you were wanting it to be able to run on a bot that didn't move.. whoops ;-)

I also see no reason why the Flags are in there, or the stop events. They change the flags, but they flags themselves are never used. I left them in just in case you decided to have a use for them in a future version of this.
 
What about instead of telling you to move, have it use the stick command and /stick behind etc. Does /stick have args for left or right? As far as to counter the blind just turn on /docrack NoBlind.

-Drak
 
The problem with Rikkukin is it's all based on where your guild kills him at, so locs may not work, however if you fight in the same spot all the time they very well could. Personally, we fight him in the SE cubby. But don't expect 100% results, because, if you'd kill Rikkuk a few times, then you know that even if yer staring at his face his tail still hits you a few times.

On Event_GoTurn - a loc isn't needed, you simply need to look away, which also depends on where your guild kills him...next time you fight, /echo ${Me.Heading} - while looking opp. where he is and put it in mac as /face ###

Those events' original purpose was for acting on the first emote, and then stopping that action on the second emote, not really a use for them in this mission, unless you want to maybe assign a starting loc and have it run back to there after each emote is completed.

P.S. - I had to search trial of foresight I don't even remember doing that lol, btw you never posted if it worked okay :)
 
Actually we stopped doing it b4 i could test it. We try to center rikki in the middle. I thought there might be a stick command to move left / right / forward or back so many steps etc

Was worth a shot but maybe we can make this a popup...so many emotes get lost in the spam would be nice to see em popup.
 
Code:
|------------------ Rikkukin.mac -----------------| 
|--------------------- 8/16/06 -------------------| 
|Macro by Gladimus

#event goLeft "Rikkukin pulls his right arm back#*#" 
#event goRight "Rikkukin pulls his left arm back#*#"
#event goBack "Rikkukin rears backs and fills his lungs#*#"
#event goFront "Rikkukin twirls his tail#*#"
#event goTurn "Rikkukin twists his body so that the ambient light#*#"

Sub Main
:loop
/doevents
/goto :loop
/return 

Sub Event_goLeft
    /popup MOVE LEFT
/return 

Sub Event_goRight 
   /popup MOVE RIGHT! 
/return 

Sub Event_goBack 
   /popup MOVE BEHIND 
/return 

Sub Event_goFront 
   /popup MOVE FRONT! 
/return 

Sub Event_goTurn
   /popup TURN AWAY! 
/return

Is all you need if you only want popups
 
we cornered him to the SE and basically people could afk for the fight.. only emote to avoid is the back one..

main tank takes a step forward facing him towards the raid and it works fine.
 
Status
Not open for further replies.