WoW 'Like' Slash Commands

* * *REMEMBER, THIS IS NOT COMPLETE SO DON'T EXPECT ALL THE MODIFIERS FROM WOW TO WORK. THIS IS YOUR WARNING* * *

Caveat(s):
/castsequence will step through the sequence of spells if the target is too far away(possibly others?). In other words, if you hammer on the macro button it will step to the next spell and not remain on the "failed" spell, so on and so forth.

[Info]

  • WoW "Like" Slash Commands is an attempt by myself Maroot (Ibuprofen on Grimdal PvP), to implement the /castrandom, /castsequence, /assist, /targetenemy, and /cast slash commands from WoW. As there are no options for these in RoM (other then basic /cast), I took it upon myself to make these available, though, with limited usability. By limited I mean full modifier options are not available at this time but are on my to-do list.
  • NEW: [health] & [mana] condition modifiers added. (See below for usage details)
  • NEW: Variable assignment options to help shorten macro's by assigning spell names to small integer variables. (See below for usage details)
  • NEW: Reset integer values are now capable of 2 decimal place precision. example: reset=2.5\target; reset=5.25\target

Here is a list of available modifiers and conditions:

[castsequence]

  • Modifier options.
  • modifier:alt\ctrl\shift
  • target=player...target...self
    where the '...' means you can concatenate the words to string a condition together
  • health<>=#%
  • mana<>=#%
    where the '#%' is a number value representing the percentage of health or mana to compare to
    '<>=' are conditional operators, '<' less then; '>' greater then; '=' equal too. You may group them for conditions such as '>=' greater then or equal too.
  • Condition options.
  • reset=target\combat\shift\alt\ctrl\n
    where n is a number from 1.00 to 999.00
  • Examples 1:
  • /castsequence Spell1, Spell2, Spell3, Big Spell
  • /castsequence reset=target Spell1, Spell2, Spell3, Big Spell
  • /castsequence reset=target\ctrl Spell1, Spell2, Spell3, Big Spell
  • /castsequence reset=target\ctrl\combat\alt\shift\12 Spell1, Spell2, Spell3, Big Spell
  • Examples 2:
  • /castsequence [modifier:ctrl] Spell1; Spell2, Spell3, Spell4
  • /castsequence [modifier:ctrl] Spell1; reset=12 Spell2, Spell3, Spell4
  • /castsequence [modifier:ctrl, target=player] Spell1; reset=combat Spell2, Spell3, Spell4
  • reads as: if ctrl down and target is a player then cast Spell1; otherwise cast Spell2, then Spell3, then Spell4 reset if player enters combat or we've reached the end of spells
  • /castsequence [modifier:ctrl, target=targetself] Spell1; reset=alt\combat\target\shift\ctrl\6 Spell2, Spell3, Spell4
  • reads as: if ctrl down and target is an enemy, or myself, then cast Spell1; otherwise cast Spell2, then Spell3, then Spell4 reset if player enters combat, switches targets, presses the alt\shift\ctrl key, we've reached the end of spells, or 6 seconds has passed since the macro was fired.
  • Examples 3:
  • /castsequence [modifier:ctrl] Spell11; [modifier:alt] Spell12; [modifier:shift] Spell13; reset=6.5 Spell2, Spell3, Spell4
  • /castsequence [modifier:ctrl\alt\shift] Spell11; reset=12 Spell2, Spell3, Spell4
  • Examples 4:
  • /castsequence [health<30] Health Potion; [modifier:ctrl] Spell11; [modifier:alt] Spell12; [modifier:shift] Spell13; reset=7.5 Spell2, Spell3, Spell4
  • /castsequence [health<30] Health Potion; [mana<=20] Mana Potion; Spell11; reset=12.2 Spell2, Spell3, Spell4
  • In the above examples, each press would evaluate your health and mana levels and cast the according spell depending on current health and mana levels.

[cast]
*cast uses the same syntax for modifiers as castsequence, the only differences are that cast does not recognize the reset condition, and does not except more then one spell per option.

  • Example
  • /cast [mana<=20] Super Mana Potion; [modifier:shift, target=playerself] Uber Heal; [modifier:alt] Flame; Fireball
  • reads as: if mana less then or equal to 20% then use Super Mana Potion, else if shift key down and target is a player or myself then cast Uber Heal; else if alt key down then cast Flame, otherwise cast Fireball.

[castrandom]

no modifiers currently

  • Randomly cast a spells/items from a list
  • /castrandom Spell1, Spell2, Spell3, Spell4, Spell5

[assist]

no modifiers currently

  • Assist your target
  • /assist
  • /assist target

[targetenemy]

no modifiers currently

  • Targets the nearest enemy that can be attacked
  • /targetenemy

[notarget]

no modifiers currently

  • Removes self target. For example, when using a potion via a macro command, use this after the potion command to remove the self target.
  • /notarget

[Options]

There are three options available in game that turns off a message of the current spell being cast, enables a basic auto pull feature that moves your char forward if you attempt to cast a spell out of range of your target(Listed below in their respective order), and a pull wait option that adjust the "lag" between client and server user interaction so the pull feature can be adjusted for each individual users needs. To allow some visual to the user of what spell is being cast I "spam" a message to the chat frame. This feature will definitely be worked on in future updates, if you have an idea for a nice way to notify of current spell to be cast, please feel free to let me know! This can be turned off with the slash command:

  • announce
  • /wlsc announce off
  • /wlsc announce on

Turns off and on the "spam". However, there will always be notification of when the macro has reset, this is sent to the warning text frame. This also will be worked on. I am finding that it gets annoying having the message sent to the warning frame as it makes that error sound, which always makes me think a spell or some other retarded thing that I have done, didn't work.

  • pull
  • /wlsc pull on
  • /wlsc pull off

Turns on and off the pull feature respectively.

  • pulltime
  • /wlsc pulltime #

    Where # is a positive decimal value. eg. 1, 0.4, 1.3, 9, 4.5 etc etc

Adjusts the pull features length of time the character uses to walk forward, default is 2 seconds.

  • walkltime
  • /wlsc walktime #

    Where # is a positive integer value.

Adjusts the amount of time to wait to clear the current target when using "/notarget"; lag adjust.

  • ctime
  • /wlsc ctime #

    Where # is a positive decimal or integer value.

[Variable assignment usage information]
NOTE: These are only available with /cast and /castsequence at this time.

Everyone hates the 255 character limit cap in macro's, and everyone wishes they could somehow shorten the length of spell names by abbreviation or via some other means, because by doing so would allow for larger more complex "simple" macro's that still follow the ToS.

Well I've designed into this addon the ability to do just that. The system uses an integer based variable preceded by the pound sign(#). For example '#1" and '#100' are both acceptable variables. To assign a spell to a integer variable you would use a new slash command called "/setvars". You would pass the slash command first your integer variable "#1", then the equals sign "=", and finally the spell name (must be spelled exactly as it is in your spell book). Some examples below:

/setvars #1=Health Potion
/setvars #2 = Mana Potion
/setvars #23=Fireball
/setvars #11 = Health Potion

To use the variables in your macro's just replace the corresponding spell name with its assigned variable. So for example to cast "Fireball" in your macro you'd change it from this:

/cast [health<30] Health Potion; Fireball

to

/cast [health<30] Health Potion; #23

or, both spell names changed

/cast [health<30] #1; #23

The list is saved so there isn't any worry about losing the variables when you shut the game down or what ever. You can not "remove" a variable once it is created, however you can over write it with a different spell name. At this time I find there really no need to remove an entry once it is created as you can over write them at any time.

To view all the variables and their current assignments you would use a new slash command "/listvars". This will print the entire list to the chat window.

That's it for now...

Please, report problems you find on here.

* * *REMEMBER, IF IT DOESN'T WORK BECAUSE YOU ENTERED IN A MODIFIER THAT DOESN'T HAVE THE LISTED OPTIONS AS ABOVE, AND YOU WHINE ABOUT IT, I TOLD YOU SO DON'T EXPECT ANY SYMPATHY* * *

You must login to post a comment. Don't have an account? Register to get one!

  • 5 comments
  • Avatar of Maroot Maroot Wed, 25 Nov 2009 01:21:58

    Major Exciting Updates ;P

    Read the description for more information

  • Avatar of Kwiat_W Kwiat_W Wed, 05 Aug 2009 08:25:49

    Great addon! Keep up the good work. :)

  • Avatar of Maroot Maroot Wed, 10 Jun 2009 00:43:44

    Major Update

    Full /cast implementation, with modifiers and conditions. Plus some code cleaning and fixes.

  • Avatar of Maroot Maroot Tue, 09 Jun 2009 04:00:39

    Major Update

    You can now use items with castrandom and castsequence. (version 0.3.90r8)

  • Avatar of Maroot Maroot Tue, 09 Jun 2009 01:44:53

    Major crash fix

    Invalid spell (incorrectly spelled) names no longer crash the game. (version 0.2.90r7)

  • 5 comments

Facts

Date created
07 Jun 2009
Categories
Last update
29 Nov 2009
Development stage
Beta
Language
  • enUS
License
GNU Affero General Public License version 3 (AGPLv3)
Curse link
WoW 'Like' Slash Commands
Recent files
  • A: r28 for 2.0.11.1872 on 29 Nov 2009
  • A: r27 for 2.0.11.1872 on 25 Nov 2009
  • B: v0.25.304r25 for 2.0.11.1872 on 25 Nov 2009
  • A: r26 for 2.0.11.1872 on 25 Nov 2009
  • B: v0.25.302r25 for 2.0.11.1872 on 25 Nov 2009

Authors