User Tools

Site Tools


plugins:spellcast

Spellcast is no longer supported and will not receive updates. Spellcast is being replaced by GearSwap

====== Useful links ======
Rules Page
Variables PageLook here for all variables available for use.
User Submitted XMLXML files submitted by users of Spellcast. Excellent place to start.
XML Tutorial A straight-forward XML Tutorial to get you started with writing your own XML files.
XML Code UpdaterA PHP script that will update your older -2.3 code to the v2.3 style
XML EditingA guide to setting up an editor for XML files.
spellcast.dtdRight-click and Save As… this link.

This plugin is updated frequently. Please check back often for new updates.

This plugin requires advanced configuration before using most of its features. Please read over the documentation thoroughly to make the most use of it.

What is SpellCast

SpellCast is macro and game engine enhancement. SpellCast was designed to get around SE's tedium of typing commands instead of using macros, and SE's inability to give us more advanced macros capable of changing ALL our gear in 1 macro instead of only 5 pieces. SpellCast is for all jobs, giving you the power to quickly setup macros and easily change gear in your macros. SpellCast maximizes your potential with fast gear swaps.

SpellCast:

…will let you type 'simpler' spell commands, where you don't need <t>, you don't need ” ” around double word spells, you dont need :,' or - within spells and you don't need to use roman numerics!

…now gives you the power to change ALL of your gear, when you want, when you need it to, all based on conditions you setup.

…will turn all of your macros into 1 line, the casting line! Since its release, many advanced features have been added, such as conditions with Weather, Day, MP, subjob and more!

…gives you the power to make sets of gear, and put those sets into groups.

Make a group for uncapped events, make a group for level caps. Doing a lv50 cap? Make a group for it, then issue the change group command and set it to the lv50cap group. Now, all your spells are using different sets of gear for level 50 things instead.

The power of this plugin will continue to grow. I hope this makes every caster alive happy and enjoy easier to use macros!

A Note to the Non-Mages

SpellCast was originally designed with mages in mind. This is no longer the case. References to spells within the documentation and xml actually encompass job abilities, weapon skills, etc.

Features of SpellCast

What follows are just some of the features of SpellCast that come along with the advanced equipment set management features.

Spell Simplification

In FFXI when you want to cast a higher tier spell, you must type the whole name with roman numerals in quotes no less! SpellCast not only allows you to type that spell without quotes, but also allows you to type numbers instead of those roman numerals, and removes the need to type non alphanumeric characters. /ma “Cure IV” <t> becomes /ma Cure4 with SpellCast running.

In FFXI when a ninja wants to use Utsusemi, they must type /ma “Utsusemi: Ichi” <me>. SpellCast removes the necessity of the colon,/ma “Utsusemi Ichi” <me> will work as well. In fact, with SpellCast you can even forget the space between Utsusemi and Ichi and the quotes, and it will still cast correctly. ie. /ma Utsusemiichi <me> will work as well.

Quick Aliases

SpellCast adds commands that you can use in game to cast a spell. For example, instead of typing /ma “Cure II” <t> in game, with SpellCast you can type //Cure2

Spell Type Fixing

SpellCast will automatically correct the pre-command for spells if you specify the wrong type. For example if you type /ma “Dancing Edge” <t> SpellCast will automatically process the command correctly as /ws “Dancing Edge” <t>.

Smart Targeting

In FFXI when you type /ma “Cure” and forget to add the <t>, your spell does not process and your dunes party dies T T. With SpellCast the same mistake would by default cast on whoever you have targeted! Your dunes party rejoices, for as much as a dunes party can be happy anyway. Also, any spell that is only castable on yourself, will default to <me> instead of <t>. Previously in FFXI all spells defaulted to <t> if no target was specified until one unneeded patch to the game. SpellCast brings that functionality back and improves it with <me> handling.

Additionally, SpellCast allows you to change this functionality on a per spell basis using the DefaultTarget action.

Target Auto-completion

For those who are typing spells, Spellcast has auto-completion of the target. You only have to type a part of someone's name. It will match anyone in the zone, but people in your party or alliance will get priority.

So for instance, if someone named Jimbobstoner is in your alliance, all you have to type is /ma Cure jimbob and Spellcast will make Jimbobstoner the target if Jimbob is not in your Alliance. Any part will do. So provided they don't match anyone else in your alliance, /ma Cure jimbo, /ma Cure bob or /ma Cure stoner would all work.

Changing Spells

In FFXI when you attempt to cast Cure IV on someone who really needs it, but you are missing that one mp at the wrong time, you have to go back and attempt casting Cure III instead. Using ChangeSpell, you can automate this and have SpellCast cast lower levels of spells when you don't have enough MP for the first one.

SpellCast Commands

Current commands can be invoked via /spellcast or /sc in the chat area or spellcast or sc in the Windower Console followed by the appropriate command.

The following commands are available as of version 2.11.

Command Description
SpellCast Related:
file filename Changes the currently loaded XML file.
load filename Changes the currently loaded XML file.
reload Reloads the currently loaded XML file.
info Prints current information such as file, group, and counts.
groupgroupnameChanges the currently used group.
setsetname Manually triggers gear change to a set.
naked Removes gear.
disableslot Disables equipment switching in SpellCast while maintaining other functionality. If no slot is specified, disables SpellCast equipment switching for all slots.
enableslot Re-enables equipment switching in SpellCast. If no slot is specified, Re-enables SpellCast equipment switching for all slots.
help Displays a list of these commands if you cant remember them in game.
debugon/off Enables or disables debug logging.
Variable Related:
var Displays a list of variable commands if you cant remember.
var listLists all custom variables.
var setvarnamevalue Creates or sets a variable with the specified value.
var remvarname Removes a custom variable.
var incvarname Increments an integer variable.
var decvarname Decrements an integer variable.
Gear Related:
exportgear Exports the names of the gear you are currently wearing to [NAME_MAINJOB_ExportGear.xml] in the spellcast folder. This command is very helpful when you have multiple gear sets to build.

XML Markup

SpellCast uses a special XML file to load your gear sets and spell rules. SpellCast XML files should be placed in your plugins\spellcast\sub folder of your Windower installation. When SpellCast loads, it automatically loads a file named default.xml. If this is your first time running SpellCast, the default.xml file is created for you on load.

The basic structure of the major SpellCast tags is as follows:

<?xml version="1.0" ?>
<!--The above line tells applications reading the file that it is in XML format.-->
<!--Text within tags like this is a comment in XML-->
<spellcast>
<!--The above line specifies the SpellCast section of the XML file so SpellCast knows where to look when it opens the file-->
	<config>
		<!--Attributes associated with the config section control basic SpellCast settings-->
		<!--This tag is usually closed on the same tag it is opened using a / before the closing greater than symbol-->
	</config>
	<sets>
		<!--This is where you would define your SpellCast equipment sets and groups-->
	</sets>
	<variables>
		<!--This is where you would define custom variables for SpellCast-->
	</variables>
	<rules>
		<!--This is where you would define rules that tell SpellCast what to do and when-->
	</rules>
</spellcast>

Descriptions of these tags, and the tags they contain are provided below.

<config>

config - Optional
SpellCast Related:
Attribute Name Required? Value Description
AutoLoadXML Optional (True/False) Only valid in default.xml. If set to true, default.xml will be completely ignored, and SpellCast will instead try to load another XML instead based on current job. Once XML has changed, if you change jobs again, SpellCast will again attempt to change XML files based on your new job. SpellCast will check for files in this order(using the first it finds):CharacterName_MainJob_SubJob.xml, CharacterName_MainJob.xml, MainJob_SubJob.xml, andMainJob.xml
Example Filenames: aikar_whm_blm.xml, aikar_whm.xml, whm_blm.xml, whm.xml
RequireVersion Suggested VersionNumber If a version number is set, SpellCast will only load the XML if SpellCast is of a greater version than specified. This is to facilitate XML sharing as more SpellCast releases are made.
Debug Optional (True/False) Enables or Disables the debug log file created by SpellCast. This is helpful for aiding with debugging the plugin or your XML file.
ShowGearSwaps Optional (True/False) Enables or Disables information being displayed by the plugin during the 3 stages of gear swaps. This text is displayed in your client as a tell and can not be detected at this time by Square Enix.
DisableWS Optional (True/False) Setting this to true will disable SpellCast on /ws and /weaponskill.
DisableJA Optional (True/False) Setting this to true will disable SpellCast on /ja and /jobability.
DisablePET Optional (True/False) Setting this to true will disable SpellCast on /pet.
DisableSO Optional (True/False) Setting this to true will disable SpellCast on /so and /song.
DisableNIN Optional (True/False) Setting this to true will disable SpellCast on /nin and /ninjutsu.
DisableMA Optional (True/False) Setting this to true will disable SpellCast on /ma and /magic.
Set Related:
Attribute Name Required? Value Description
HELMSet Optional SetName Specify the set of gear you would like to use when doing HELM.
FishingSet Optional SetName Specify the set of gear you would like to use when fishing.
Spell Related:
Attribute Name Required? Value Description
ShowSpellInfo Optional (True/False) Will show information about every spell you cast such as Recast Timers, MP Cost and Casting Time. This information is added to your FFXI chatlog.

<sets>

Next we have sets (Required). Sets contain all of your group definitions. Sets have no configuration options but has a sub command calledGroups.

<group>

Groups are where we define our gear sets that we would like to use. Please refer to the following table for the possible options for groups.

group - Required
default Optional (Yes/No) Tells SpellCast if this is our default group it should use on load.
name Required group name This is the name of our group. This option supports alias. To add an alias simply separate the normal name with a pipe. ex. <group name=“Red Mage|RDM”>
inherit Optional group name We can define another group that we would like to inherit gear sets from. This allows us to prevent multiple similar sets of gear between groups.

<set>

Inside of our group we finally define our various gear sets. The command for this is Set not to be confused with the command Sets. Sethas various configuration options as well as additional sub commands we use to specify what gear we want equipped and in which gear slot. The following table shows us the configuration options.

set - Required
name Required set name This is the name of our set. This option supports alias. To add an alias simply separate the normal name with a pipe. ex. <set name=“Exp|Dynamis”> Supports * as well
BaseSet Optional set name We can define another set we would like to base our current set on. Thus inheriting the unspecified pieces of gear from it. If an gear slot is used in both the current and baseset the current set will be the piece that is used. You can specify multiple sets, divided by pipes, to combine multiple sets. Gear from those sets will be applied in order, so if a slot is defined in more than one set, the definition from the last set named in the list that defines that slot will be used. REQUIRED if BaseGroup is set.
BaseGroup Optional group name If needing to inherit a set from another group by chance, give the group name here. ex <set name=“test” BaseGroup=“Lv50Cap” BaseSet=“Standard”> will inherit the Standard set from the 50cap group, even if your current group is set to Lvl75Cap or such.

Set supports the following sub options.

Slot names
main sub range ammo
head neck lear rear
body hands lring rring
back waist legs feet

Each of these supports the option lock. If this is set to anything, this gear will be 'locked' so that, any set inheriting from this set will not be able to override this gear slot with its own gear, and also any rules will not override this piece either. Example: if SetA has main set to LightStaff, and SetB Inherits SetA, but has main set to DarkStaff, If Main is not locked, Dark Staff will override LightStaff. If Lock is true, main will be kept to LightStaff, and no set inheriting the set can change that. Ex. <Main lock=“yes”>Light Staff</main> or <Main lock>Light Staff</Main>

SpellCast can also remove equipment for you. To do this, instead of specifying a piece of gear for a slot, specify Remove instead. Ex: <main>remove</main> will UNEQUIP that slot.

NOTE: When specifying your gear within the set, you can use variables within the gear names.

<variables>

The variables section allows you to automate the process of setting up user defined variables. The variables tag itself has one attribute, clearwhich if true tells SpellCast to clear out all variables when the XML is loaded.

Ex: <variables clear=“true”> will erase ALL custom variables every time your XML is (re)loaded.

For more information on using variables, check the variables section.

<var>

The var tag has two attributes, name and nooverwrite. The value specified between the <var> tags is the value that will be assigned to that variable upon XML (re)load. If nooverwrite is true, the variable will retain its current value on XML reload rather than the value specified in the XML.

<variables>
	<var name="LastSummon" nooverwrite="true">Carbuncle</var>
	<var name="CG">Congrats!</var>
</variables>
plugins/spellcast.txt · Last modified: 2015/01/08 18:44 (external edit)