SpellCast Changelog

2.21

  • December 8th, 2008 2.21 Release
    • Fixed: SCH Weather buff detection to stack with current weather (Weather Buff + Weather (normal) = Weather x2)
    • Fixed: SpellTarget stuff to update when using ChangeTarget and DefaultTarget
    • Fixed: TargetType and SpellTargetType
  • December 8th, 2008 2.20 Release
    • Update: Major code optimizations GREATLY improving the speed of SpellCast
    • Update: New Resources.xml system - THIS WILL AUTOMATICALLY DOWNLOAD .XML FILES.
    • Removed: Removed DefaultPrecast, DefaultMidcast, DefaultAftercast config options. Use <action type=“equip” when=“resting” set=“set” /> and etc.
    • Added: New rules, EquipBody, EquipMain, etc for each Equipment slot.
    • Added: New variables, %EquipBody, %EquipMain, etc for each Equipment slot.
    • Changed: %SpellTarget is now %SpellTargetRaw (Likewise for Rules). %SpellTarget will now display the spell targets name only, even if you use things like <t> and <me> and <st> stuff.
    • Added: %SpellTargetDistance, %SpellTargetType, %SpellTargetHPP, %SpellTargetIsAllyMember - all relating to target of spell, regardless of your actual target.
    • Added: %TargetHPP, %TargetDistance, %TargetIsAllyMember - These are related to actual target, and never the target of your spell unless they are the same.
    • Added: TargetDistance LT and GT, SpellTargetDistance LT and GT, SpellTargetType, SpellTargetHPP LT and GT, SpellTargetIsAllyMember, TargetIsAllyMember and NOT Versions for all rules.
    • Fixed: %TargeType → %TargetType - Added the missing T.
    • Added: GearDelay action type, letting you specify a delay before equipping precast gear. Think of this like a Pre Precast delay.
    • Added: %GearDelay variable.
    • Added: PartyCount, PartyCountLT, PartyCountGT and NOT versions to rules, for checking against how many people are in your party/alliance.
    • Added: %PartyCount variable, as described above.
    • Added: %ISINALLY, 1 or 0 depending if your in an alliance or not.
    • Fixed: using <st> will properly pause in normal macros and wait for user input
    • Fixed: <st> usage should no longer toss an error about sub target window being up as a default 100 ms GearDelay is set when a spell is casted by a target select (using <t> or typing a name will not set a 100ms delay)
    • Fixed: Mixup between Blood Pacts and Spells for stuff like Fire II, silly weird people can do smn/blm again… but please dont do that :(
    • Fixed: Fixed possible crash on zoning.
    • Fixed: Slight delay added to triggering Engaged autoset so that Target will hopefully not bug out (SE being weird?)
    • Added: name completion!! //cure3 jimbob will cure Jimbobstoner when it cant find a jimbob! Nomore long names slowing you down. Middle/end of names works too, //cure3 stoner, //cure3 bob. NOTE: it will use first it finds, so don't use a pattern that can match 2 diff people in the zone. (Alliance priority will be added by 2.20 release)
    • Added: support for (BuffActive)Buff1|Buff2(/BuffActive) in Advanced to work like (Regex)

2.17

  • July 5th, 2008 2.17 Release
    • Fixed: Added performance counters back to debug log. (Not sure why I removed it)
    • Fixed: Time should now properly sync with in game time and work for everyone (no more crash on load like 2.16)
    • Fixed: Fixed ChangeTarget when using variables.
    • Fixed: Small bugs with Scripting uses with /ninjutsu and /range (When using them without typing input)
    • Added: Added a warning to the easteregg at the end so people realize its a joke and dont panic >_> (Also lightened the triggers on Easter Egg)
    • Fixed: Fixed //UnlimitedShot triggering the easteregg
    • Added: Ability to load multiple sets with type=equip actions and BaseSet attribute on <set> by piping additional names. <set name=“myset” BaseSet=“Standard|Enfeebling”>
    • Changed: Changed %Target to %SpellTarget - UPDATE YOUR XML! %SpellTarget will hold different values than your actual current target. ie typing //cure3 bob will set %SpellTarget to bob even if you are targetting jane and %target will be jane.
    • Added: New Variables: %Target, %TargetHPP. %Target will now display your current targets name (Does not work for <st>!)
    • Added: New Variable: %TargetType - Will return either NONE, NPC, PLAYER, MONSTER, SELF
    • Added: New Variable: %IsInCombat - Unlike %Status, this will return 1 if your battle music is playing, so it will return 1 even when not physically engaged but your party is fighting a mob (mages, kiters)
    • Added: New Rules: Target, TargetHPP, TargetHPPLT, TargetHPPGT, SpellTarget, TargetType and Not* versions of each.
    • Fixed: Bug where Normal/Idle set would equip after things like mining and fishing.

2.16

  • May 06th, 2008 2.16 Release
    • Fixed: Issue with server synced time not handling nonstandard DST timezones correctly.
    • Added: %PlayerName variable to report your character's name.
    • Added: %MoonPCT variable to report the current moon percent.
    • Fixed: Issue with nooverwrite option on <var> not working correctly.
    • Fixed: Issue with Scholar Storms reporting double weather instead of single weather.
    • Added: A separate download with just SSE1 support will be available for those with older CPUs.

2.15

  • April 28th, 2008 2.15 Release
    • Fixed: Issue in which incoming chat under particular circumstances would cause SpellCast to crash. Not tied to Whitegate directly, but was common there due to the quantity of shouts.
    • Fixed: Issue with var rem causing SpellCast to hardlock FFXI.
    • Fixed: Issue in which action type ChangeLock was not handling multiple slots for multiple whens correctly.
    • Fixed: CommandPrefix=”/range” was not working correctly.
    • Changed: SpellCast is now linked to the actual server time and not your system's clock. Should be at most off by a second now.
    • Added: NoOverwrite option to the var tag. Setting NoOverwrite=“true” will tell SpellCast to keep the current value of that variable during XML (re)load.
    • Added: SSE2 instruction set support to SpellCast. Speed should improve in SpellCast, however older CPU's will no longer be supported (Pentium 3 or older).
    • Changed: Your group will reset upon job change so that taking advantage of auto group name selection based on main_subjob will change when you change subjobs.
    • Fixed: Fixed typo on the moon phase's involving Crescent. (Was spelled Cresent)

2.14

  • April 8th, 2008 2.14 Release
    • Changed: Removed the recent addition of %WeatherBuffElement and changed %Weather and %WeatherElement to reflect your weather with Scholar buff effect on.

2.13

  • April 8th, 2008 2.13 Release
    • Fixed: Issue with Enabling and Disabling slots.
    • Fixed: Bug with Ranged Attacks when specifying your target (ie /ra <t> or /ra <st>)
    • Added: ChangeTarget action. Changes what your target is set to (whether set or not). Requested by members.

2.12

  • April 8th, 2008 2.12 Release
    • Fixed: More improvements on the code to help eliminate crashing.
    • Fixed: Bug where file would sometimes try to default back to default.xml and not autoload properly until zoned.
    • Fixed: 1000 Needles to properly work. X00 Needles wasn't quite right!
    • Fixed: Case sensitivity problem on variables. Now everything should be case insensitive.
    • Fixed: Action Type=ChangeLock not supporting piped when's.
    • Fixed: AddtoChat and Commands not processing on Autoset: Resting
    • Fixed: Variable listing now properly shows $ as prefix.
    • Fixed: Variables will be processed when changing groups or files now.
    • Fixed: Ranged attacks not accepting targets from user and forcing to <t> unless fixed with action type=defaulttarget. /ra <stnpc> will work again.
    • Updated: Embedded resources.xml to latest. This fixes the crash on load issue, and fixes Minuet 3. (Ranged entry is not used by spellcast, but it was fixed too).
    • Changed: Quick aliases no longer require use of ' or - in spells. alphanumeric only required.
    • Added: Rewriting for common target names. //haste me will change to <me>, where as //thunder3 st will change to <st>.
    • Updated: embedded Resources.xml to latest.
    • Added: New variable %WeatherBuffElement that will replace with the current element of any Scholar related Weather buff. IE Hailstorm effect will replace with Ice. So you may do <if advanced='”%SpellElement” = ”%WeatherBuffElement”'> — REMOVED: 2.14 —
    • Added: New performance tick count to all debug lines. Will show how many milliseconds have passed since last debug line. Use it to track where slowdowns are occuring. NOTICE: The first debug line added on a spellcast WILL have a high count since the last debug line of a spell cast is what the ticker is saved to currently.

2.11

  • Febuary 11th, 2008 2.11 Release
    • Added: Regex to Advanced
    • Added: Disable/Enable action for effect of /sc disable/enable commands (that clears current equip slots too)
    • Added: ChangeLock Action for pre/mid/acast
    • Added: Autoset events for status's resting/idle/engaged
    • Added: Aliases to set names themselves. Pipe the name field.
    • Added: <variables> auto creation <var name=“x”>value</var>
    • Added: Checking of XML to make sure users do not wildcard a situation that always returns true, ex: <if Day=“*”>
    • Added: ability to parse rules on <rules>
    • Added: Ability to | slot names on disable/enable and the actions to lock multiples at once
    • Removed: HideErrors config variable. If you have error's, you should be fixing them.
    • Major: No more critical bugs causing game instability. Plugin should now be 100% stable WHEN USED WITH WINDOWER 3.4 (3.3 is still majorly bugged))!
    • Update: debugging no longer logs commands sent to game irrelevant to spellcast.
    • Update: Resources.xml update to February 8, 2008, 11:23 am
    • Fixed: Major code rewrites to hopefully solve any crashing problems related to SpellCast.
    • Fixed: Major code rewrites to boost speed and performance when using Debug Log.
    • Fixed: HPP/MPP/MP/HP/TP(and NOT versions) Logic Errors on Lessthan/Greaterthan (was doing OrEqualsTo)
    • Fixed: HELM Set not equipping.
    • Fixed: Ninjitsu → Ninjutsu spelling correction.
    • Fixed: load bugs when typing filename without extension.
    • Fixed: Problems with enabling and disabling individual locks with the 'enable' and 'disable' commands.
    • Fixed: Bug with DefaultTarget when used with quick aliases.
    • Added: Japanese support back! Rule names JSpell and NotJSpell restored. Thanks to Sprint informing me SpellCast worked fine for Japanese.
    • Added: REGEX Support to ALL rules that would allow Wildcards. Format: (regex)^something_(blah|blah)$(/regex) for PERL. or (regex-extended) for POSIX extended, (regex-basic) for POSIX Basic, and (regex-perl/extended/basic-case) for case sensitivity (insensitive by default). can also use (regex-case) for case sensitive perl.
    • Added: New rule syntax.
      <if ..rules..>..actions..</if><elseif ..rules..>..actions..</elseif><else>..actions</else>
      These all behave just like <rule>, however elseif will only be parsed if the <if> or <elseif> above it fails (does not pass all the rules), and <else> is only parsed if all <if/elseif> above it fails. This follows standard programming if/elseif/else logic. <if> is EXACTLY the same as <rule>, its just a new name, and i suggest using it to keep code readable when using <elseif> and not make it confusing.
    • Added: AutoLoadXML Config variable. This can only be used in Default.xml. Spellcast will try to load another XML instead based on current job (and character name if you want) when you load spellcast orchange jobs.
      Order it will check for files (uses first it finds): aikar_whm_blm.xml, aikar_whm.xml, whm_blm.xml, whm.xml.
    • Added: New Rule: Advanced. This will have superior logic control over rules giving you the capability of mixing AND and OR like normal programming logic.
      Example: <if advanced='”%MainJob”==“WHM” and (”%SubJob” == “SCH” OR ”%SubJob” == “BLM”) and %MPP > 300'>
      Check documentation for syntax.
    • Added: Ability to not need : on spells such as Utsusemi: Ichi, Blade: Retsu, Tachi: Kasha. /ma Blade Retsu will work perfectly, as will //blade retsu. Also made it so you do not need a space in spells either. bladeretsu or blademadrigal will also work.
    • Added: RequireVersion Config Variable. When sharing your XML on the Wiki you can have this set to show what SpellCast version it requires to work. If someone is still using a copy such as 2.11 and your XML uses 2.14 features, then SpellCast will not load the document and inform the user it can not be loaded.
    • Added: Logic Parsing to all Less than and Greater Than rules if you want to do some forms of math. MPPLT=”(float)$SubJobMPTrigger/881*100”.
    • Changed: Changed what is written to log file on a rule parsing. You will now be able to see EXACTLY what the rule was, what depth level it was, and weather it passed true or not. This should greatly help in figuring out why your rules are not working properly. Remember to set Debug=“true”.
    • Changed: If default=“yes” is not found when Loading a new file, SpellCast will try to change to a group based on your current job/subjob combination. It will first try to change to <main>_<sub> ex: whm_blm and then try to change to whm.

2.10

  • November 25th, 2007 - Release 2.10
    • Fixed: Ranged attacks bug
    • Fixed: HP/MP Percent rules.
    • Fixed: ChangeSpell/QuickAlias bug not putting space between roman numerics.. oops
    • Fixed: Couldnt send /sc or /spellcast commands if XML was invalid… Can now
    • Changed: Code involving the processing of spellcast… hopefully reduce crashes, well see.
    • Changed: numeric 1 now replaces to nothing so things like /ma raise1 still work. for people who accidently type it due to habbit.
    • Changed: Resources are now extracted on load if missing or out of date. May reduce problems with reloading after crashing, possibility its not fixed.
    • Fixed: Crash on group change to non existant group… oops
    • Fixed: If aliasing a group by piping the name as in name=“WHM|WHM-Dynamis”, it now properly returns the first name instead of the full string. the Alias attribute is not needed, but still works the same way.
  • November 23rd - Release 2.10dev17
    • Fixed: Ok, final fixings on Quick Aliases, found there to be a little more problems than I realized.
    • Changed: Self target only spells automatically default to <me> now instead of <t>, you do not need to setup a rule for this now.
  • November 23rd - Release 2.10dev16
    • Fixed: Bug with Quick Aliases causing lots of command errors with windower commands being issued.
  • November 23rd - Release 2.10dev15
    • Changed: SpellCast Debug Log is now saved to the SpellCast folder, NOT plugins folder.
    • Added: Config variable for DefaultPrecast, DefaultMidCast, DefaultAfterCast to auto fill those sets on ALL spells before starting rules.
    • Added: Automatic creation of SpellCast folder and default.xml on load. Distribution will now just be the .DLL.
    • Changed: aftercast delay no longer changeable, defaults to Cast Time + 1.6s
    • Added: Wings of the Goddess Update spells.
    • Added: New Single and Master Locks that dont reset on spellcast. This will let you disable a single piece or all gear changing completely for a period of time while still letting other functions of SpellCast work. /sc enable and /sc disable
    • Fixed: Missing Spells from DataBase will not fail to use on menu usage.
    • Changed: /sc file and /sc group are now smarter.
    • Added: Quick Aliases. //thunder3, //cure3, //erase <st>
    • Changed: Prefix you issue a command with does not matter any more… You can do /ma Devotion and it will automatically use /ja Devotion instead. This change was added to work with the new quick aliases feature.
    • Added: AddToChat action. This lets you add text to chat log just like /echo, but also choose a color!
  • November 18th - Release 2.10dev14 a rough list of changes from 1.36 to 2.10dev14:
    • Added: getnaked command to remove all your gear. Nudist rejoice!
    • Changed: all spell casting can be done by the normal /ma and menu.
    • Changed: options command to /spellcast and /sc. //ma will function the same as /ma, but no command options will work for it.
    • Added: full <st> and menu support
    • Added: Cast delay action to delay even casting the spell
    • Added: aftercast scripts
    • Changed: running scripts no longer uses a temporary file.
    • Added: Threading of file loading so it does not lag FFXI out.
    • Added: midcast delay action. allows you to overwrite the default time used before equipping midcast gear.
    • Changed: midcast to change gears 600ms after start of casting instead of 1s. If this is too short for some of your spells, use MidCastDelay action
    • Fixed: all delay timers being horribly inaccurate… oops
    • Added: Job ability (/ja), Weapon Skill (/ws), Ninjitsu (/nin), Song (/so), Pet (/pet) Support!
    • Added: RestingSet and NormalSet config options. Automatically equips those set names on resting and returning to normal.
    • Added: /ma /ja /ws etc type commands as Windower commands. Now able to do “bind !1 /ma Cure3” without the need of 'input /ma Cure3'. Works without the slash too 'bind !1 ma cure3'.
    • Added: rules for job levels
    • Added: rules for jobs
    • Added: current day
    • Added: current weather
    • Fixed: bug with <st> being effected by Cast Delay
    • Fixed: bug with CastDelay not resetting back to 0
    • Fixed: /ra not even working with spellcast.
    • Added: Rule CommandPrefix=””. Example: <rule CommandPrefix=”/ws”. Where you would exactly need to use it is up to you.
    • Added: Debug Information on all spellcast
    • Added: ability to write a message to FFXI ChatLog when equipping a set in the <set> tag.
      Aikar notes this is not actually added as of 2.10 but it is planned. edit:lanakaian
    • Added: auto translate fix for usage in spells, rejoice :)
    • Added: Loading of all spell information from XML Files.
    • Changed: name works the same way alias use to on sets. You no longer need to use alias, specify multiple names same way you would have in alias name=“Standard|Dynamis|Playtime”. Wildcards would work too… but remember if it uses wildcards itll be the first group that matches when changing groups!
    • Added: ability to specify midcast delay.
    • Fixed: no 'group/set not found' errors on inherited sets/groups.
    • Fixed: blanking out a gear slot in any equip rule or set will no longer crash, and will properly erase that slot from changing equipment.
    • Added: spellinfo rules
    • Added: HP/MP/TP rules
    • Added: time rules
    • Added: area rules
    • Added: buff rules
    • Added: player status rules
    • Added: moon rule
    • Added: EngagedSet config variable to be equiped on engage.
    • Removed: Language config variable. Only English German and French supported. Japanese unsupported due to XML Parser support limitation. Language does not need to be set.
    • Changed: Less spam on information text on load.
    • Fixed: completely fixed all Auto Translator Problems
    • Fixed: fixed not being able to type a name out after a spell as target.
    • Added: HELM Set, FishingSet config Variables.

1.36

  • August 15th - Release 1.36
    • Fixed: a very small deal with chaining .ma commands in a script(or command action) was processing a default 6s aftercast even when there was no aftercast… no longer will process aftercast if ones not set.). Just a note, all .ma chains in scripts will have a forced 1s pause between them (midcast wait) as windower script commands waits until the command finishes parsing before continuing to the next.

1.35

  • August 15th - Release 1.35
    • Fixed: Final bug with Rules Parsing when using -rule fixed.

1.34

  • August 15th - Release 1.34
    • Fixed: Crucial bug causing all rules to parse true @.@

1.33

  • August 15th - Release 1.33
    • Fixed: Command actions, now queues together and also gives you ability to specify When=“MidCast”. Melee may now rejoice as you can use spellcast now! Refer to Support thread for assistance on how you can use it.

1.32

  • August 14th - Release 1.32 - Never actually went public
    • Fixed: crucial rule parsing bug that prevented some actions and rules from being parsed.

1.31

  • August 13th - Release 1.31
    • Fixed: Gear changing lock bug.

1.30

  • August 13th - Release 1.3
    • Fixed: gear parsing over multiple action/rules
    • Fixed: WildCard on groups in rules
    • Fixed: Possibility of getting stuck in endless AfterCast Wait preventing unload
    • Fixed: Unloading of plugin during an AfterCast wait
    • Fixed: nesting of groups parsing
    • Fixed: crash when loading error xml
    • Fixed: Seperate the locks on gearsets for a per time basis (precast/midcast/aftercast)
    • Added: Changed rules to use <rule> instead of <action type=“rule”>
    • Added: Group inheritance. Inherits another group so that you can modify and extend upon that group.
    • Added: Group aliases, so you may filter by groups in rules effeciently for places such as dynamis without duplicating groups.
    • Added: New Action Type=“DefaultTarget”. Ability to specify which <t>/<me> to append to your spell for things like spells that can only be cast on self.
    • Added: -info command. shows statistics of your current setup.
    • Added: <config> to hide errors… You really shouldnt use this but what ever!
    • Added: New rule! NotGroup=“GroupName|GroupName”
  • August 11th - Release 1.2
    • Added: Nested rules (Thanks Hitoma for the idea!).
      <rule spell="paralyze*|slow*">
      	  <action type="equip" Set="Enfeebling Magic" />
      	  <rule Spell="Paralyze*">
      	<action type="equip">
      	  <main>Ice Staff</main>
      	   </action>
      	  </rule>
      	  <rule Spell="Slow*">
      	<action type="equip">
      	  <main>Earth Staff</main>
      	   </action>
      	 </rule>
      	</rule>


      It's essentually an <action> elementthat runs just like a <rule> element

    • Fixed: using tags like <t> and <me> and <tp> in type=“command”> If i missed any lemme know.

1.10

  • August 11th - Release 1.1
    • Added: Ability to specify multiple spells in a rule (<rule Spell=“Fire*|Firaga*|Burn|Flare”>)
    • Added: NotSpell to Rules that only triggers rule if the spell is NOT that spell. Best used when coupled with Spell=“Spell”. Example: <rule Spell=“Cure*|Curaga*|Regen*” NotSpell=“Cure V”>)
    • Added: -help to commands. Do //ma -help
    • Added: -set to manually equip a set.
    • Added: -rule to manually trigger a rule.
    • Added: Type=“CancelSpell”. This will let you script a rule but not actually fire off a spell. IE Canceling spells at certain times. Example: <rule Spell=“Cure IV”><action type=“CancelSpell” /></rule>
    • Fixed: Group not Defaulting on load of different XML File.
    • Fixed: Locks not persisting through multiple rules. (Reset after every </rule>). That was the original intent, but after consideration, locking the entire parse makes the lock attribute more useful.

1.00

  • August 9th - Release 1.0 - Major Upgrade
    • Added: Gear Sets
    • Added: Rule Parsing
    • Added: Commands ran on rule validation
    • Added: Set Inheritance
  • Release .2 -
    • Fixed: auto translate bugs for ninjitsu spells and reraise that prevented the spell from even being casted.
  • Release .1 -
    • Added: convenience release for <t> ” ” and numbers

Planned Ideas

  • Ability to define 'Spell Aliases'. Example: '/ma ichi' to cast Utsu: Ichi, or '/ma r3' to cast raise3. option for /r3 maybe?
plugins/spellcast/changelog.txt · Last modified: 2008/12/08 23:10 by aikar
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0