Goto page 1, 2  Next General MQ2Melee /killthis /holyshit question
Reply
MQ2Melee /killthis /holyshit question
First off, I have the Stormhaven package of the MQEmu download and I'm using a pretty straight forward approach to the features. I have few bells and whistles other than some self buff macros and an autohealing cleric.

I recently discovered the /melee features of the Holyshit and Downshit features which are seriously cool once I figured them out. All cool...except for the problem(s) I've ran in with on my beastlord.

in my characters Melee.ini file for my server, I have the following code(s)
ini
More +
holyflag0=1
holyshit0=/if (${Spell[Growl of the Panther].Stacks} && !${Me.Buff[Growl of the Panther].ID} && !${Me.Moving}) /casting "Growl of the Panther"|gem6

This casts a dual Selfbuff and Petbuff that lasts for 1 minute increasing my DPS for both the pet and myself. However, whenever I enage a target, it casts it just fine but the spell autotargets the pet. Thus killing off (so to speak) the /killthis command I issued from my main just moments earlier. The Bst will stay targeting the pet until I manually switch him over. I've been able to re-issue a series of new hotkey commands to have him switch back to targeting whatever my main is targeting.. but I would like to be able to have the bst do this without my intervening every minute 3 seconds.

Any assistance on this matter would very much appreciated. I would rather not go back a step or two when the holyshit/downshit features look so promising.


PS. I've tried to figure out a way to use the Holy/Down features for my bard, but as of late, the bards have to have the /stopsong command issued to them before any normal casting of clickies begins. Sorvani, looking to you here for some advice you can lend some.
Sun May 01, 2011 5:28 pm
If you cast the buff manually does it auto target the pet?

On my phone atm
_________________
Sorvani
Sun May 01, 2011 7:26 pm
Senior Project Member
yes it does. There are 3 additional Beastlord spells that are designed for Pet Only that auto target the pet when the cast is started.
Unparalleled Voracity, Steeltrap Jaws, Spirit of Lairn, not to mention the Growl as I stated above. These are like this for everyone on the server.
Sun May 01, 2011 8:54 pm
Just had a thought, (not in game atm) maybe hitting Tab (cycles through previous target and current target) after the spell is being cast?
presskey tab after the start of the casting of Growl begins. Not sure how to do that though.
Sun May 01, 2011 8:57 pm
The simplest solution would be to simply assist your pet. This is assuming that your pet is attacking. If your pet stops attacking when you cast this buff then ignore the rest of this post and let me know to come up with a different solution for you.

something along this line should work. I am not able to jump in game and verify my syntax atm though.
Macro
More +
downshit0 = /if (${Target.ID}==${Me.Pet.ID} && ${Spawn[${Me.Pet.Following.ID}].Type.Equal[NPC]}) /assist


If you are targeting your pet and your pet is targeting an NPC and you are not in combat (this is a downshit) then /assist. Assuming you have /asssit off set so that simply assisting does not turn on auto attack you will start attacking again since MQ2Melee should detect you retargeted the mob you were previously attacking.

If that don't work try putting it in a holyshit.
_________________
Sorvani
Sun May 01, 2011 10:40 pm
Senior Project Member
Macro
More +
downshit0 = /if (!${Me.Casting.ID} && ${Target.ID}==${Me.Pet.ID} && ${Spawn[${Me.Pet.Following.ID}].Type.Equal[NPC]}) /assist


added a casting check so it doesn't try to switch you back while you are casting, other wise you will likely get interrupted spells.
_________________
Sorvani
Mon May 02, 2011 8:26 am
Senior Project Member
I've played around with this for about an hour and its temperamental at best. I can't figure out why it works sometimes and it doesn't work others. About 2/3rds of the time it appears to work just find and after my beastlord begins to cast these short duration pet buff spells. However, the remaining 1/3 he still targets his pet even when the pet is attacking.

I'm going to now attempt to use your most recent post's code to see if it helps.. otherwise I'm going to change the /assist to /presskey Tab which is where I have my "Cycle back to previous target". I had pretty good work with that thus far.
-----
Edit - Update
Apparently I haven't seen the message that's been appearing in the Macro Window. I'm getting, "No such "spawn" member "Following" and its cycling back and forth between what the pet is looking at or not looking at and back to the warder. Either way, its still not working and spamming up my macro window
-----
Second update.
I've been playing around with the coding as every attempt I could think of hasn't worked thus far. However, I've had "some" success with the following
ini
More +
downshit4=/if (${Target.ID}==${Me.Pet.ID}) /keypress tab
Tab being the key I press to swap to the previous target

This works great when not in combat and I'm casting the additional pet buff spells I mentioned above. But During combat, this command does nothing even if I swap out to another pet-targeting-buff-spell just for testing reasons. I've even copy/pasted this simple command a Holyshit id with its corresponding flag and it still does nothing. I don't believe my ini file is corrupted as I've logged out, deleted it and had the plugin recreate a new one and I pasted the commands in there again and saved. Same thing.
Just for reference sake, I've included my beastlords ini file in the rare chance you need it.

ini
More +
[MQ2Melee]
aggro=1
downflag0=1
downflag1=1
downflag2=1
downflag3=1
downflag4=1
enrage=1
facing=1
feralswipe=1
harmtouch=1
holyflag0=1
holyflag1=1
holyflag2=0
infuriate=1d
kick=1
melee=1
petassist=1
petmend=20
petrange=75
plugin=1
resume=20
slam=1
standup=1
stickrange=75
downshit0=/if (${Spell[Ward of the Garou I].Stacks} && !${Me.Buff[Ward of the Garou I].ID}  && !${Me.Invis} && !${Me.Moving}) /casting "Visage of the Royal Shadowclaw"|Pack8 -targetid|${Me.ID}
downshit1=/if (${Spell[Ferocity].Stacks} && !${Me.Buff[Ferocity].ID}  && !${Me.Invis} && !${Me.Moving}) /casting "Runed Band of Verocity"|leftring -targetid|${Me.ID}
downshit2=/if (${Spell[Scream of Death].Stacks} && !${Me.Buff[Scream of Death].ID}  && !${Me.Invis} && !${Me.Moving}) /casting "Pauldron of Dark Auspices"|Pack8
downshit3=/if (${Spell[Ancestral Memories].Stacks} && !${Me.Buff[Ancestral Memories].ID}  && !${Me.Invis} && !${Me.Moving}) /casting "Icy Ring of Boreal Essence"|Pack8
downshit4=/if (${Target.ID}==${Me.Pet.ID}) /keypress tab
holyshit0=/if (${Spell[Growl of the Panther].Stacks} && !${Me.Buff[Growl of the Panther].ID} && !${Me.Moving}) /casting "Growl of the Panther"|gem6 -targetid|${Me.ID}
holyshit1=/if (${Spell[Illusionary Spikes].Stacks} && !${Me.Buff[Illusionary Spikes].ID} && !${Me.Moving}) /casting "Ornate Mask of Fallen Dreams"|Pack8
holyshit2=/if (!${Me.Casting.ID} && ${Target.ID}==${Me.Pet.ID} && ${Spawn[${Me.Pet.ID}].Type.Equal[NPC]}) /keypress tab
version=4.900
Mon May 02, 2011 10:32 am
I logged in over lunch and tested that. Following is apparently not part of the spawn object in this build of MQ2. Probably something added more recently to MQ2. So back to the drawing board.

Err I'm dumbass... Target of Target is what we want because we KNOW you are targeting your pet, and if your pet is in combat he will be targeting the NPC.
Macro
More +
downshit0 = /if (${Target.ID}==${Me.Pet.ID} && ${Spawn[${Me.TargetOfTarget.ID}].Type.Equal[NPC]}) /assist

_________________
Sorvani
Mon May 02, 2011 2:41 pm
Senior Project Member
I'm seeing the logic of where you're going with this but its just not working. I don't know if its got something to do with the embedded coding of EQEmu or not but on this particular set of pet related spells, it doesn't want to flip targets back when engaged in battle. Outside of combat, this set of coding works fine. The downshit stuff works great on every bit of coding I've given it with the /tab (obviously /assisting off the pet during downtime doesn't work)
But any coding you've given me related to holyshit I've been able to fool around with hasn't successfully worked in combat related scenarios.

------
Edit
Spent another 20mins or so testing it in game. The Best I can figure is that only happens during combat. If the client is forced to switch targets (IE casting this spell that targets the pet), something gets mixed up somewhere where the server side still thinks its targeting the original NPC. Issuing a command from the main toon again, IE /killthis target will force the beastlord to begin attacking again. Also, manually clicking on the npc target will again begin combat as normal as well as hitting the tab key. typing /keystroke tab doesn't appear to work only in this scenerio. Outside of combat, fine, in combat, fine, in combat but force to target pet.. doesn't seem to work.

Is there a way to Delay this action of using the /assist for about 3 seconds. I know that in theory, it should work as is and every test of it outside of combat works perfectly fine with both /assist (after the pet has attacked and still is targeting it) and the /tab command.
Mon May 02, 2011 7:58 pm
In my last post, I neglected the !${Me.Casting.ID} but I'm not sure where your problem is.

I do not play a Beastlord so I have not tried to deal with this before. The only pets I have are Shaman and Magician. Neither of these two are in combat. All MQ2Melee is doing for them is to issue /pet hold after combat and during enrage. NO holyshits or downshits set up at all.

Since you posted your config I'll see if I can swing the time to make one on my test server and see what I can come up with.

Edit: you can use /multiline
Macro
More +
holyshit0=/if (blah blah) /multiline ; /assist;/delay 10;/killthis


Edit 2: Also you should try some /echo responses to help troubleshoot. It will spam the fuck out of your MQ2 window so make a hotkey to turn your holyshit/downshit on and off
Macro
More +
HotKey 1: /melee holyflag0=1
HotKey 2: /melee holyflag0=0


build up your holyshit but instead of /assist use an /echo
Macro
More +
holyshit0=/if (blah blah) /echo Pet targeted in combat and not casting. will /assist now
or
Macro
More +
holyshit0=/if (blah blah) /echo hoylshit0 just activated!


this kind of thing is very helpful when trying to debug something that is not working like you think it should.

/multiline also works good here
_________________
Sorvani
Mon May 02, 2011 9:36 pm
Senior Project Member
Sorvani, for the life of me, I can't figure out what the heck is wrong. I've spent way too much time debugging this to the point of finally putting in your latest code with a /say Does this even work.
... I get nothing. Apparently there is something funky with the Spells that force-target the pet... but only occurs while in combat.
I don't know if this related to pet itself attacking, the /killthis command, MQ2melee plugin or something to do with the Emulator code itself within EQEmulator. At this point I've exhausted my skills at coding/debugging/testing or the like.

If you would like test this yourself with a beastlord on your server with the following lineup, feel free cause I can't figure it out.

For now, I'll just manually send my Bstlrd commands to target current mob again and /killthis from my main after each cast of Growl.
Tue May 03, 2011 3:30 pm
What if you throw in some sort of
Macro
More +
/docommand ${If[${Defined[${Me.CleanName}Target]},/varset ${Me.CleanName}Target ${Target.ID},/declare ${Me.CleanName}Target int global ${Target.ID}]}
before the cast and just
Macro
More +
/target id ${${Me.CleanName}Target}
after it casts?
Wed May 04, 2011 8:39 am
This worked consistently for me when I tested it on my server.
65 Beastlord using Growl of the Leopard on the Underfoot client

Macro
More +
holyshit0=/if (${Spell[Growl of the Leopard].Stacks} && !${Me.Song[Growl of the Leopard].ID} && !${Me.Moving}) /multiline ; /echo holyshit0 (Growl Buff) activated;/casting "Growl of the Leopard"|gem6;/timed 30 /target ID ${Melee.Target}


I do not like using something like /timed in this context because it is not precise but it does do the job.

Also of note, I had to change the ${Me.Buff to ${Me.Song before it would detect I had the buff on me even though the buff showed up in the normal buff window and not the song/short duration buff window. This is a problem with the Underfoot client and not MQ2 I believe, because other spells do similar strange things. I just haven't had the time to test it carefully.
_________________
Sorvani
Wed May 04, 2011 1:19 pm
Senior Project Member
I'll try this out later tonight when I get home. Thanks Sor!
Wed May 04, 2011 1:46 pm
Woot! looks like it works like a charm! I did have to change the Me.Songs to Me.Buffs but otherwise, it works perfectly. thanks Sor!
Wed May 04, 2011 8:44 pm
Goto page 1, 2  Next General MQ2Melee /killthis /holyshit question
Reply