• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
MQ2Rogue

Plugin - MQ2Rogue 3.1.52471.11

You can watch the video in the overview for new users.
There is no video in overview BTW, nor is there mention of the modes etc. Not even explicitly in this thread, unless it's the video by another user in this thread. Also never using either plugin I don't know what info is spewed out from start up/help etc

Either way, maybe add them to the overview as not everyone will want to watch a video/not from the creator
 
You would be correct that it isn't in the overview. I was thinking about mq2berzerker's overview. Was late and wasn't paying a whole hell of a lot of attention.
As it was with MQ2BerZerker, I'll update the overview when the plugin is done. For now it's pretty bare bones, until then I believe there is a video by @VorpalChicken on post #7 that should give you a touch of insight into the plugin's added features.

I'm not a video producer and will be providing text documentation for the plugin when I feel there is time to do so. As I'm still working on the plugin, it's sold with the understanding that it is a Work in progress as is mentioned in line 2 of the overview, and that all the detailed information would be filled in at a later time (which can be found on line 1 of the overview). Until then, either the video by VorpalChicken or the one done by Sicprofundus for MQ2BerZerker should suffice to explain the absolute basics of the plugin. Perhaps at another date I'll be able to setup for creating videos and explaining everything in detail.
 
I dug into the code to see what was going on with puncture. The answer is nothing. Lol. It's never even used. Suppose now is as good a time as any to find out what it does and use it accordingly.
 
Not currently live. Will be on next compile.
@kaen01 for the Frenzied Stabbing trying to fire with an active disc spam report, mentioning it because he didn't post it here. Likely only applies for burnalways, but it's an issue as I run the rogue in burn always.
1557208613100.png
 
"Commands" now updated on the resource. At the top of the window you should see the option "Commands" now. This should hopefully assist with clarifying some things. It's a copy/paste from MQ2BerZerker's "Commands" section with a couple of entries deleted that didn't apply to rogue.
 
Does the current alliance logic check for rogues in the vicinity if usealliance set to TRUE? Or will it just always try to fire?
What's the difference in usealliance vs forcealliance?
 
Can it be changed to count rogue PC's in the area rather than group? For raid usage? Does it also check for the buff on target before using? Something like this, but more elegant.

/if (${Me.CombatAbilityReady[${Alliance}]} && !${Target.Buff[Poisonous Alliance Effect].ID} && !${Target.Buff[Poisonous Covenant Effect].ID} && && !${Target.Buff[Poisonous Alliance Effect II].ID} && !${Target.Buff[Poisonous Covenant Effect II].ID} && !${Target.Buff[Poisonous Alliance Effect III].ID} && !${Target.Buff[Poisonous Covenant Effect III].ID} && ${SpawnCount[pc class rogue radius 100 zradius 50]}>=3)]

Also, just let me know if I'm being a pain, I just want to contribute to this project as much as possible.
 
Also, for your condition you don't need to check for II and III variations. ${Target.Buff[Some Spell name].ID} checks for the NPC to have a spell that starts with the name, and doesn't require the rank on the end of it. Which means it only needs a partial match, so long as it starts the same exact way for each rank of the spell. So you could effectively change those conditions to
Code:
/if (${Me.CombatAbilityReady[${Alliance}]} && !${Target.Buff[Poisonous Alliance Effect].ID} && !${Target.Buff[Poisonous Covenant Effect].ID} && ${SpawnCount[pc class rogue radius 100 zradius 50]}>=3)

Also you have a trailing ] that isn't valid, as well as you've put && && (twice in a row without an additional condition between it) between the check for Poisonous Covenant Effect and Poisonous Alliance Effect II
That's just if you wanted to clean up the existing condition ;-)

The code in the source for MQ2DataTypes.cpp for the member Buff as it applies to the MQ2TargetType is listed as

C++:
                for (i = 0; i < NUM_BUFF_SLOTS; i++)
                {
                    buffID = ((PCTARGETWND)pTargetWnd)->BuffSpellID[i];
                    if (buffID && !_strnicmp(GETFIRST(), GetSpellNameByID(buffID), strlen(GETFIRST())))
                    {
                        if (Dest.Ptr = GetSpellByID((DWORD)buffID)) {
                            Dest.HighPart = i;
                            Dest.Type = pSpellType;
                            return true;
                        }
                    }
                }

Whereas !_strinicmp is getting the value you put in the [square brackets] and comparing it to the buff at index i, but only comparing it up to the length of characters provided in the [square brackets]

So while the buff itself, and the requested comparison may be different, it's only going to check each character up to the length of characters provided in the request. IE: ${Target.Buff[Poisonous Alliance].ID}
POISONOUS ALLIANCE is 18 character (including the space) which means that the check will only compare the first 18 characters to be exact matches. If the result is 0 then they are an exact match, which is why the ! is preceeding the _strnicmp function call. If we instead used strstr, it would search anywhere in the string of characters for the buff for the item provided in the [square brackets] IE: "Effect" would match for both the Poisonous Alliance Effect and the Poisonous Covenant Effect. However, just using the word Effect would likely yield some false positives. overall I like the way they handled that, as it's intended to reduce checking the same buff for every possible variation of it, and instead provide only the one instance of it in the most precise way you can without listing each possible rank.
 
Last edited:
I think he is asking if ForceAlliance=1 will use alliance regardless if the mob has the debuff or not? , i can understand focusing on group setup/stuff and utilising force alliance to manually make the rogue use alliance when raiding but be a bit annoying if it doesn't check for the debuff at least

Is this still a work in progress/test only plugin? or is it otherwise ready for/purchase most general use?
 
Yes, force alliance checks for the debuff. the only thing forcealliance does it means that it's going to use alliance regardless of how many rogues are in your group.
 
The debuff check is the more important aspect, thanks Chat. ForceAlliance is should work out then.
Is anyone else having issues with clickies? Only some of my burn clicks are firing. Is there a cap?
 
There is no cap. From the looks of it there is some residual code from BerZerker that doesn't match rogue which prevents it from firing burn clickies. I'll try to get this sorted soon, I'm in the middle of changes for behind the scenes improvements which doesn't actually affect the plugin beyond keeping me from having to maintain two files. Friday I had some family issues that took me away for a few days and put a stop to those changes but as the situation improves I'll be able to focus more on getting this updated and running smoother and more efficiently.
Thank you for the report @davewilson
 
ChatWithThisName updated MQ2Rogue with a new update entry:

Live Update

Added Hide/Sneak logic for out of combat

Moved Knifeplay and Executioner out of burns cycle and place for always use if no active disc and you don't have the rogue's fury buff. Knifeplay before Executioner.

Reconfigured the rogue's downtime section so that it will still sit/sneak while invis. it will sneak while moving, and hide once sneaking. Added Casting as a base case for not entering the downtime routine to reduce spam.

Read the rest of this update entry...
 
Also burn clickies should be working. I know that didn't make it into the notes, but I did change it while I was working on the file maintenance fix I mentioned in post #56

If there's any more improvements that can be made, please let me know.
 
Hope everyone is enjoying the hide/sneak out of combat, lots asked for it.

Now I've been looking at timer 5: It has the Weapon Covenant/Bond/Affiliation combat abilities which I think are the relevant ones to use, it's a proc rate modifier but it's got a short duration and a long reuse timer, so thinking that should be for burns. Where to add this? Suggestions etc are welcome, otherwise Imma just figure it out on my own.
 
Loving this plugin. It is fantastic.

My question is, how are folks switching targets? Additionally attempting to find a way to make the rogue backoff and stop attacking a target.
 
You can do /rog mode 0 to put the rogue in manual mode, then press the esc key to clear your target, or turn off attack if you want to keep the target but turn off attack.

For switching targets, the rogue is going to assist the MA with his current target if it reaches the Assist at value of health, it will not switch automatically until that target is dead. once attack is turned on the toon is locked to the mob. this allows the MA to target other things to get aggro in the event there is no crowd control.

Perhaps making a hotkey to /bct RogueName //target id ${Target.ID}
on your MA will suit the need of target switching.
 
If using this in manual mode, you could opt to also run kissassist with basically everything turned off. That means it’ll act like kissassist does, which will switch targets when the MA changes targets. You can also do a /switchnow (if I recall), which will swap to the MA’s current target.
 
My rogue doesn't seem to be firing any abilities in combat. Will use discs with burnalways = true, but I don't see the majority of the abilities listed at startup firing in combat for me. Fresh 110, few RoS/TBL AA's and no epic. Is there some additional debugging output I can turn on?

Capture.PNG
 
Last edited:
You would need to /plugin mq2rogue unload then do /plugin mq2rogue so that it populates the list of combat abilities it intends to use then show me a screenshot of that so i know what your character is expected to fire so that I can get a better understanding of the problem. The rogue doesn't have a whole lot of combatabilities that are used for dmg, and there are lots that actually just buff the rogue so that the auto attack and backstab do more dmg or cause you to proc more often.

Without a way to know what abilities you have and what it's expected to use it's hard to comment on what issue you might be facing.
 
@ChatWithThisName Would it be possible to work a chest click in the initial burn as well? Most likely, whatever the rogue is wearing would be applicable.
 
Is this macro working solid for the $20? If so I am going to jump on it. I heard there is issues with it spamming sneak hide and not firing abilities
 
You've heard more than I have. People kept asking for sneak/hide to be used so it got added, and I can't recreate it not firing abilities, so I can't account for that.
 
Just logged my rogue in, ran over to a zone, targeted something and hit attack, did that for a few more mobs (most ended up insta dead because only level 65) and the following is the result.
To my knowledge it's working. I'm not sure of the issue Sumon was having, this is as of the current live copy as I've updated and download a new copy today.

It spams hide in combat to keep aggro down, but it's pretty much the last thing on the list. Rogues don't have a whole lot of things to fire in combat, mostly pure DPS boosted by a few choice buffs, poisons, and AA's with the oddball combat ability here and there.

Rogues do assassinate dmg in phenomenal amounts. But only on humanoid mobs.
In the screenshot below it's doing hide/sneak directly following combat.

Give it a go, if you don't like it can always toss you a refund. But if there's something wrong with the way it works, or you want something added, asking how to fix an issue or asking for a feature that is within the scope of the plugin, I don't typically have an issue adding things.
1558827402933.png
 
Last edited:
Just added a toggle for useHideSneak to the plugin so that it can be disabled until more information is available from the users to know when they would like it to be automatic or if the toggle option is just fine.

The issue that I was presented with is lower level toons can't move very quickly with the hide/sneak on and not having a way to turn it off was problematic for some. Thus, I've added the toggle and will nudge @Redbot <~Right there, to request the new commits be pulled and the plugin rebuild as soon as possible to alleviate any issues the lower level Rogues are having.

Please keep in mind that at this point I'm more or less awaiting feedback from you, the users. Without reports of issues and the details of those issues it's hard to come up with a viable solution to the problems. Don't be afraid to tell me my shit is broken, I can't fix it if I don't know about it.

Please note: This doesn't disable hiding in combat to mitigate any aggro the rogue may get. But without sneaking that won't matter.
 
If this works as well as the zerker plugin I might grab it just to play around. Thanks, @ChatWithThisName
 
Still not using Chest click during burn routine, even after deleting ini and reading. Is it possible it's an issue with items that are equipped rather than in general inventory? I'll try testing that.
 
Chest click isn't automatic. You'll need to do a
Code:
/rog addclicky burn
while holding the chest item in question to add it to the burn routine. You can see your list of clickies by doing /rog reload
 
So I've been working hard on the background code to enable it to simplify the setup process for new classes, and while I was in there I went ahead and added a new feature that will be live soon (tm).

1559552647882.png

MQ2Rogue (and MQ2BerZerker for that matter) will now report missing abilities on startup and if you use the command for reload,
Code:
/rog reload
in this case, it will report abilities which have nothing assigned to them that are missing. IE: above Shrouding Speed Shock is on it's own timer as the only thing that it could be, so the fact that it is missing means nothing else could possibly be assigned to it. I plan to look into adding a command to show missing abilities so that you can do something like
Code:
/rog missing
and it output a list of missing abilities. But haven't got that far at this time.

I've spent the better part of two days on what you as a user probably won't even notice changed, but doing so enabled me to streamline some of the other processes which allowed me to output the missing stuff in a much more efficient manner. The overall change reduced the total lines in the two plugins by about 800 lines of code. Which means moving forward that getting a new class started will be less of a headache. Additionally, I've started working on a Shadow Knight plugin. Though I think it may be a while before we see this one come to fruition due the fact that I haven't established a setup for handling spell casting. Though some of the work for it has already been done such as a way to provide a list of spells for a group of things much like discs which it selects the best one in the list. So far testing has only been done for one group of spells. But, progress is progress is progress.

I hope the upcoming changes make this a better plugin for everyone who uses it.
 
So I've been working hard on the background code to enable it to simplify the setup process for new classes, and while I was in there I went ahead and added a new feature that will be live soon (tm).

View attachment 16976

MQ2Rogue (and MQ2BerZerker for that matter) will now report missing abilities on startup and if you use the command for reload,
Code:
/rog reload
in this case, it will report abilities which have nothing assigned to them that are missing. IE: above Shrouding Speed Shock is on it's own timer as the only thing that it could be, so the fact that it is missing means nothing else could possibly be assigned to it. I plan to look into adding a command to show missing abilities so that you can do something like
Code:
/rog missing
and it output a list of missing abilities. But haven't got that far at this time.

I've spent the better part of two days on what you as a user probably won't even notice changed, but doing so enabled me to streamline some of the other processes which allowed me to output the missing stuff in a much more efficient manner. The overall change reduced the total lines in the two plugins by about 800 lines of code. Which means moving forward that getting a new class started will be less of a headache. Additionally, I've started working on a Shadow Knight plugin. Though I think it may be a while before we see this one come to fruition due the fact that I haven't established a setup for handling spell casting. Though some of the work for it has already been done such as a way to provide a list of spells for a group of things much like discs which it selects the best one in the list. So far testing has only been done for one group of spells. But, progress is progress is progress.

I hope the upcoming changes make this a better plugin for everyone who uses it.

Well done, bud. I'd redcent, but I'm already all out of those for the day lol.
 
1559947141554.png
@vivviv reported this issue and the correction has been made. Change will be made available on next live patch tentatively as I plan to try and find a spot for Shrouding Speed Discipline. Currently I'm not 100% on when to use it, so let me know your thoughts!
@VorpalChicken could use some advice on this one.
 
View attachment 17064
@vivviv reported this issue and the correction has been made. Change will be made available on next live patch tentatively as I plan to try and find a spot for Shrouding Speed Discipline. Currently I'm not 100% on when to use it, so let me know your thoughts!
@VorpalChicken could use some advice on this one.


It's on timer 4, and level 102 with a longer reuse than one of the two main burn discs, Twisted Chance (65.) There's really no time that it should ever be used. It was complained about to devs when it was added and promptly ignored. Beta threads are gone, but
Here's a mention,

And here's an explainer
 
Last edited:
Plugin - MQ2Rogue

Users who are viewing this thread

Back
Top
Cart