First of all, if the trouble I had just getting the files uploaded is an indication of my luck with this script now that I feel it's suitable for release, I'm in trouble. The brigand_CARoutines? That was too large to be uploaded as an xml file, so I had to change it to .iss to get around the restriction. Hopefully I don't piss Amadeus off by doing so, but it's a required part of the script. But change that to .xml and put in your UI directory. And instead of making a reply to post the spell and UI "brigand.xml" files seperately without changing the filename, I changed the file name. So put the BrigandREMOVESPELLS.xml in your spells directory and brigandREMOVEUI.xml in your UI directory, removing the caps shit. BrigandCharConfig.xml... If you want the fairly decent CARoutine I decided on for my character, and most of the other ideal class settings for this script, open that and your character's current config file up. Then just cut and paste, overwriting your character's current brigand settings, beginning with <set name"brigand> and ending with the first </set> after that. You can also change the Brigand file version near the top of eq2bot.iss to 20100521 since I'm limited to uploading 5 files.
This is a fairly long post, but since I've spent two months of the time I'd have spent playing EQ2 doing this, I think I'm allowed one. I would just like to say, if you use the script and see any options/changes/things to be removed etc., just let me know. I'd really like to see the Brigand script be considered as "done" as the Illy, Fury and SK, and while I'm certain that this particular version of it isn't there yet, hopefully it can get there with some decent feedback. That said, this version does at least add a ton of great features, but just might not be as fluid in casting CAs as the old script. But it's been so long since I ran the old script, two months, that it might be my imagination. That's why feedback would be appreciated.
Alright, now on to the script itself. So as a project to learn how to script for ISXEQ2, I decided to essentially erase 95% of the old Brigand script and totally redo it. I have no programming or scripting experience of any kind save writing some very basic HTML, which I last did about... 15 years ago. So coming into this I was beyond clueless. I've tested almost everything in the script, and everything I did works perfectly.
I'd really appreciate some insight into what, if any, mistakes I made. I did a bunch of really great pieces (To pat myself on the back a bit.), but I feel like I may have put the puzzle together incorrectly. I'd really like some thoughts from anyone of the handful that have done the other class scripts that have a Brig to see if I'm wrong about the fluidity of the CAs when using the CA Routines. If it doesn't work as good as you'd like, check back after I get some advice from someone who knows what they're doing.
I'll get to the individual pieces I put in place, to give an idea of the script.
CA Routines: This is the main part of the script, and I'm just not sure how it's going to end up working out in the end. It's been so long since I used the old script I could be imagining any kinks with having to call a function for each individual CA. I did throw together in five minutes a "classic" callup of CAs that bypasses this, so if you don't check any of the three CA Routine boxes, you'll get a fairly average combat routine regardless. If the CA Routine thing doesn't work out, I'll spend some time getting that "classic" callup done justice.
Why I went with this CA Routine option is due to two reasons. Brigands are one of those classes that have different abilities that you use, and in different orders, on an almost mob-to-mob basis. Solo, you want walk the plank, rear attacks intermixed with stuns. With Dance of Metal, that throws another wrench into just one "perfect" casting order. Caster in the group? Focus on debuffs of dispatch+debilitate. No caster? Focus on dispatch+murderous rake. Bottom line, doing things the way every other class script is done where you can't change the order without editing the script, and certainly not just by checking a box, made this seem like something I wanted to try. And I intended from the very first minute to make this script with the intention of other people using it, thus the crazy amount of options I put in, and thought this was an ideal option for considering other people with different playstyles will use this script.
How this actually works in the end I'm up in the air on and it might be completely removed later on. I tried just calling up each CA Routine in order, but then when one of the earlier ones that was ready to reuse wouldn't get cast until the entire thing had been run through. So now it's calling up 12131241235 instead of just 12345. If there's a better solution or that doesn't end up working out perfectly either, well, this is the major part of the script I could use some advice/tips on.
Aggro Mode: Added a dropdown box to pick between casting evades, taunts, or none at all. I'm trying, and again, this might get removed later, to use ThreatToMe and ThreatToNext in addition to whether the mob is targeting you or not. It seems to work fairly well, and allows you to not wait until the mob is already beating your ass down to evade, or your healer is dead if you're tanking.
2nd MT: I added an option to be a 2nd MT. Basically this is going to cast taunts even if you are in evade mode when the MT dies. If anyone ever takes to redoing/messing around with a Scout/Fighter script, there are probably far worse things to add than this. Always nice to have the option to have a backup tank.
Poisons: You no longer have to edit the file to change poisons. It looks in your inventory, and whatever poisons are there you can select from a drop-down box.
Rob: This is something I spent two weeks on. As simple as it turned out, that might seem laughable. This is something essential to a Brig that the old script really, really didn't handle well simply because it is so difficult to handle. Since Rob doesn't return true for IsReady unless you are invis, it causes problems. My second to last final option was to put them all on timers, but then for the "Always Cast Rob" option, I found TimeUntilReady, allowing me to bypass the problem with Rob only being ready when invis. You'll have options to Never Cast, Always Cast, Cast Every 22 seconds (Roughly when the Str Debuff fades), When Boot Dagger is Ready (30 seconds or so) or once per encounter (Every 15 seconds and only if the mob is over 80% health.)
Also added a dropdown box to select the invis spell to use. If Boot Dagger, it'll case Boot Dagger, or if that's not ready Sneak. If Sneak, Sneak then Boot Dagger. If Shadow Slip, Shadow Slip, then Boot Dagger, then Sneak.
Beg For Mercy: This is something I don't even know if the old script had in it. This is also the second huge time consumer for me since it was the first big thing I tried scripting, and was a headache not so much figuring out how to get it to work as simply how I would the spell into the script. It's one that figuring out how and when to cast for a script took a huge amount of time trying to determine. In the end I added three checkboxes to cast BfM: On group member at ** health, on a second group member at ** health, and on MT at ** health. Note, this spell won't cast on any fighter class, so the MT is only if you have a scout MT. The first two have dropdown boxes of group members, and all three allow you to enter whatever % health that they have to be below for you to cast BfM on them.
I'll mention a couple other things: I added announces, group and raid, for debuffs (Dispatch, Debilitate, Murderous Rake, Cornered.) Put in *two* checkboxes for Ranged Attacks. One to only use Ranged Attacks, and one to use Ranged Attacks at all. Since sometimes I don't keep up my ammo and constantly get the message telling me I'm out of ammo, I thought it nice to be able to shut that off without having to go into the script and remove /auto 2. Added snare mode, which lets you pick between the three snares and will cast whenever your target doesn't have a snare on them. Added a stun checkbox, which will cast Cheap Shot whenever a mob is not stunned and Cheap Shot is ready. Totally ripped off CAPilot's Auto-Attack Timer from the Dirge script, which was such an amazing idea on his part that it should be an option in all Scout scripts. Finally, put in the choice to prevent wasting the Brig's major debuffs when a mob is almost dead. Won't cast them below 10% for epics, 20% for heroics and 30% for solo mobs, but will always cast for named.
If I did something boneheaded or just incredibly wrong in the script, go easy on me. I'll repeat again, I have no programming experience, so I'm just happythat the script turned out as well as it did is a good thing despite any errors I might have made. And one final time, constructive criticism/ideas would be greatly appreciated. Enjoy!
This is a fairly long post, but since I've spent two months of the time I'd have spent playing EQ2 doing this, I think I'm allowed one. I would just like to say, if you use the script and see any options/changes/things to be removed etc., just let me know. I'd really like to see the Brigand script be considered as "done" as the Illy, Fury and SK, and while I'm certain that this particular version of it isn't there yet, hopefully it can get there with some decent feedback. That said, this version does at least add a ton of great features, but just might not be as fluid in casting CAs as the old script. But it's been so long since I ran the old script, two months, that it might be my imagination. That's why feedback would be appreciated.
Alright, now on to the script itself. So as a project to learn how to script for ISXEQ2, I decided to essentially erase 95% of the old Brigand script and totally redo it. I have no programming or scripting experience of any kind save writing some very basic HTML, which I last did about... 15 years ago. So coming into this I was beyond clueless. I've tested almost everything in the script, and everything I did works perfectly.
I'd really appreciate some insight into what, if any, mistakes I made. I did a bunch of really great pieces (To pat myself on the back a bit.), but I feel like I may have put the puzzle together incorrectly. I'd really like some thoughts from anyone of the handful that have done the other class scripts that have a Brig to see if I'm wrong about the fluidity of the CAs when using the CA Routines. If it doesn't work as good as you'd like, check back after I get some advice from someone who knows what they're doing.
I'll get to the individual pieces I put in place, to give an idea of the script.
CA Routines: This is the main part of the script, and I'm just not sure how it's going to end up working out in the end. It's been so long since I used the old script I could be imagining any kinks with having to call a function for each individual CA. I did throw together in five minutes a "classic" callup of CAs that bypasses this, so if you don't check any of the three CA Routine boxes, you'll get a fairly average combat routine regardless. If the CA Routine thing doesn't work out, I'll spend some time getting that "classic" callup done justice.
Why I went with this CA Routine option is due to two reasons. Brigands are one of those classes that have different abilities that you use, and in different orders, on an almost mob-to-mob basis. Solo, you want walk the plank, rear attacks intermixed with stuns. With Dance of Metal, that throws another wrench into just one "perfect" casting order. Caster in the group? Focus on debuffs of dispatch+debilitate. No caster? Focus on dispatch+murderous rake. Bottom line, doing things the way every other class script is done where you can't change the order without editing the script, and certainly not just by checking a box, made this seem like something I wanted to try. And I intended from the very first minute to make this script with the intention of other people using it, thus the crazy amount of options I put in, and thought this was an ideal option for considering other people with different playstyles will use this script.
How this actually works in the end I'm up in the air on and it might be completely removed later on. I tried just calling up each CA Routine in order, but then when one of the earlier ones that was ready to reuse wouldn't get cast until the entire thing had been run through. So now it's calling up 12131241235 instead of just 12345. If there's a better solution or that doesn't end up working out perfectly either, well, this is the major part of the script I could use some advice/tips on.
Aggro Mode: Added a dropdown box to pick between casting evades, taunts, or none at all. I'm trying, and again, this might get removed later, to use ThreatToMe and ThreatToNext in addition to whether the mob is targeting you or not. It seems to work fairly well, and allows you to not wait until the mob is already beating your ass down to evade, or your healer is dead if you're tanking.
2nd MT: I added an option to be a 2nd MT. Basically this is going to cast taunts even if you are in evade mode when the MT dies. If anyone ever takes to redoing/messing around with a Scout/Fighter script, there are probably far worse things to add than this. Always nice to have the option to have a backup tank.
Poisons: You no longer have to edit the file to change poisons. It looks in your inventory, and whatever poisons are there you can select from a drop-down box.
Rob: This is something I spent two weeks on. As simple as it turned out, that might seem laughable. This is something essential to a Brig that the old script really, really didn't handle well simply because it is so difficult to handle. Since Rob doesn't return true for IsReady unless you are invis, it causes problems. My second to last final option was to put them all on timers, but then for the "Always Cast Rob" option, I found TimeUntilReady, allowing me to bypass the problem with Rob only being ready when invis. You'll have options to Never Cast, Always Cast, Cast Every 22 seconds (Roughly when the Str Debuff fades), When Boot Dagger is Ready (30 seconds or so) or once per encounter (Every 15 seconds and only if the mob is over 80% health.)
Also added a dropdown box to select the invis spell to use. If Boot Dagger, it'll case Boot Dagger, or if that's not ready Sneak. If Sneak, Sneak then Boot Dagger. If Shadow Slip, Shadow Slip, then Boot Dagger, then Sneak.
Beg For Mercy: This is something I don't even know if the old script had in it. This is also the second huge time consumer for me since it was the first big thing I tried scripting, and was a headache not so much figuring out how to get it to work as simply how I would the spell into the script. It's one that figuring out how and when to cast for a script took a huge amount of time trying to determine. In the end I added three checkboxes to cast BfM: On group member at ** health, on a second group member at ** health, and on MT at ** health. Note, this spell won't cast on any fighter class, so the MT is only if you have a scout MT. The first two have dropdown boxes of group members, and all three allow you to enter whatever % health that they have to be below for you to cast BfM on them.
I'll mention a couple other things: I added announces, group and raid, for debuffs (Dispatch, Debilitate, Murderous Rake, Cornered.) Put in *two* checkboxes for Ranged Attacks. One to only use Ranged Attacks, and one to use Ranged Attacks at all. Since sometimes I don't keep up my ammo and constantly get the message telling me I'm out of ammo, I thought it nice to be able to shut that off without having to go into the script and remove /auto 2. Added snare mode, which lets you pick between the three snares and will cast whenever your target doesn't have a snare on them. Added a stun checkbox, which will cast Cheap Shot whenever a mob is not stunned and Cheap Shot is ready. Totally ripped off CAPilot's Auto-Attack Timer from the Dirge script, which was such an amazing idea on his part that it should be an option in all Scout scripts. Finally, put in the choice to prevent wasting the Brig's major debuffs when a mob is almost dead. Won't cast them below 10% for epics, 20% for heroics and 30% for solo mobs, but will always cast for named.
If I did something boneheaded or just incredibly wrong in the script, go easy on me. I'll repeat again, I have no programming experience, so I'm just happythat the script turned out as well as it did is a good thing despite any errors I might have made. And one final time, constructive criticism/ideas would be greatly appreciated. Enjoy!
Attachments
-
5.3 KB Views: 342
-
9.7 KB Views: 356
-
176.9 KB Views: 562
-
52.7 KB Views: 326
-
223.8 KB Views: 324