06-27-2008, 09:55 PM
Free Software Terrorist
Join Date: Apr 2003
Developed by Vexorian
Maintained by Anitarf
Current version: 0.9
The successor to the Caster System, xe is a collection of libraries primarily aimed at spell makers. The core of this system is the xebasic library and the all-purpose dummy unit that comes with it. The rest of the system are all optional modules, each one designed to provide a specific feature that is commonly needed in spell making such as dummy casters and various projectiles.
- xepreload prevents the lag that occurs ingame when any ability is first added to a unit.
- xedummy recycles dummy units to help optimize maps that rapidly create and remove such units.
- xecast handles dummy casters so you don't have to, making it easier to cast spells with triggers.
- xefx allows you to move, rotate, scale and recolor special effects by attaching them to dummy units.
- xedamage provides a standardized interface for dealing and identifying triggered damage.
- xecollider is a directional projectile that detects collisions with units in its path.
- xemissile is a targeted projectile with arced trajectory, like standard Warcraft missiles.
- Added xemissile.|
- Added xedummy.
- xefx can now use xedummy to recycle dummy units.
- xepreload can now be used from struct initializers.
- Fixed a bug in xecast that would occur if recycledelay was shorter than
the duration of the spell cast by the dummy caster.
- Fixed a bug in xefx where hiddenReset did not properly assign the new fxpath.
- Optimized the xecollider collision detection.
- Fixed some errors in xefx and xecast documentation.
- new sample: Firestrike.
- Removed an xecast leak in the IllusionRune sample.
- Removed a handle id leak in SheepStaff sample.
- No longer let xecollider hit corpses...|
- When xecollider misses targetUnit (the unit dies, it will stop homing and
keep going on its current direction).
- angleSpeed no longer implicitly makes rotation automatic unless there is homingm,
If you want rotation, set the boolean member rotation to true.
- xedamage: Added MAX_DAMAGE_FACTOR to prevent some deads, a debug message will
appear if the unit dies when being tested for a damage factor.
- xepreload: debug message when preloading an ability at a wrong time.
- Requires jasshelper 0.A.2.4 or greater.|
- xepreload will now show an useful error when the ability does not exist
(in debug mode).
- xepreload may now use TimerUtils to recycle its timer if you happen to have
TimerUtils in the map.
- xecast automatically resets mana and cooldown for the dummy before making it
cast stuff. If this behaviour concerns you, you may disable it through a
- Added targetUnit, setTargetPoint and forgetTarget to xecollider's
- Added abilityLevel to xefx.
- Fixed a mistake in xefx's documentation that said "copy the xecast trigger"
- xedamage: Added a constant FACTOR_TEST_DAMAGE, which allows you to set the
amount of damage to do when testing for damage...
- xedamage: Added an isDummyDamage event response boolean to detect test
- xedamage: Added a lot of things to documentation about the issues with armor.
- xedamage: fx is for sure not shown when there is no damage.
- xefx: added hiddenDestroy and hiddenReset
- new sample: Chains of fire.
- The demo map is playable in patch 1.24.|
- Only the samples and demomap system needed to be updated, xe's libraries themselves have not changed.
- allowedTarget does not perform damage on ignored damage/attack types.|
- fixed a bug inside a commented out line in FireNovaStrike.
- xecollider.terminate should work correctly outside of onHit events.
- removed safeMove method that did nothing from xefx
- xefx can now optionally use ARGB's ARGBrecolor module.
- xecollider.terminate now prevents events from firing.|
- fixed a unit handle index kidnap in inRangeEnum (xecollider).
- fixed a small documentation bug about xecollider.terminate
- xecast's anti-AI protection now pauses the unit instead of removing the
ability (since that seemed to have bad side effects)
- xecast is now able to deal with units not visible to the player by setting
a constant to true.
- Due to technical split, xecast.castOnTarget now only takes unit and not
widget, old castOnTarget that takes widget has been renamed castOnWidgetTarget.
- xecollider now will not miss the detection of certain units that get inside
the range too fast anymore, however now creates a group per collider (damn) I
hope to find a better solution.
- Added a notice in xepreload's documentation about order events firing during
- Added gem of double green fire
- More documentation fixes.|
- xecast no longer has double frees when using create/Basic/A and the
- damageDestructablesInAOE now actually works and does not leak a xedamage
- damageTarget now returns true if it was succesful and false if it wasn't.
- xefx's recycle bin now extends array.
- added rune of illusions sample.
- More documentation fixes.|
- xefx requires xebasic in the library declaration (as it was supposed to)
- xefx now creates the effects at the correct place (used to consider pathing
during creation for some reason).
- xebasic sample uses 197.0 for max collision size since that's the default in
warcraft 3 (The default + 1)
- xebasic now includes an explanation for max collision size and its effects.
- added useSpecialEffect to xedamage
- included BoundSentinel
- added xecollider
- xedamage's required unittype field is not ignored anymore.
- Added the fireNovaStrike example.
- Fixed a bug with xecast.castInPoint basically ignoring the arguments.|
- Fixed a bug with xecast.createBasic ignoring the order id.
- Fixed documentation bugs.
- Added xedamage.
- Added sheep staff sample.
0.1 :|| Initial release|