• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Spell Engine v0.3.2

Spell Engine


v0.3.2

Spell Engine is an object-oriented event-driven system for handling spell-cast detection and spell manipulation. This system does not replace xecast or any other caster system; its primary purpose is event-handling, not dummy casting or caster recycling.

This system is meant to provide flexibility for creating custom spells that go beyond the rather simple dynamics offered by wc3's ability system.

Features
  • Object-oriented spell event handling.
  • Provides functionality for defining what happens when a spell:
    • is about to be cast
    • begins casting
    • is currently casting
    • ends casting
    • begins effect
    • begins channeling
    • is currently channeling
    • ends channeling
    • is interrupted
    • ends
  • Grants the ability to create spells with dynamic cast and channel times.
  • Grants the ability to create custom interrupts that don't rely on a stunning ability.

Requires
  • jasshelper (0.9.Z.0+), by Vexorian
  • Object Merger, by grimoire
  • Table, by Vexorian
  • TreeSet

For the changelog see the demo map.

Keywords:
spell engine, spell event, spell detection, spell, event, cast, channel, interrupt
Contents

Spell Engine v0.3.2 (Map)

Reviews
17:44, 19th Oct 2009 The_Reborn_Devil: The coding looks very good and I would say this is a very useful system. It's well documented too. Status: Approved. Rating: Highly Recommended.

Moderator

M

Moderator

17:44, 19th Oct 2009
The_Reborn_Devil:

The coding looks very good and I would say this is a very useful system.
It's well documented too.
Status: Approved.
Rating: Highly Recommended.
 
Level 17
Joined
Mar 17, 2009
Messages
1,349
IMPRESSIVE! =)

Coding is a bit too advanced for me, and I've been lazy to learn new stuff lately. Anyways, nothing that matter, but as a nice treat try avoiding TriggerRegisterAnyUnitEventBJ leaks. Well the ones I found sum up to 16x5 = 80 leaks :p but as I said, they're not much of a big deal =)

Keep it up! :)
 
Level 11
Joined
Feb 22, 2006
Messages
752
Well, it's mostly meant to help in creating spells for rpgs and hero arenas and stuff, where you only have like up to 12 heroes casting these kind of spells. Obviously if you have 100 units on the map all casting spells handled by this system like in some kind of modified rts or something, it will probably lag (I haven't stress tested this yet so that's just a guess).
 
Level 11
Joined
Feb 22, 2006
Messages
752
Yea, the PrettySpell stuff isn't technically part of the system. It's just in the demo map to show wut the system can do (otherwise it's just a bunch of stuff going on in the background without any obvious visible effects...not very dramatic or useful from a demonstration standpoint). You can adapt PrettySpell to use w/e bar system you want.
 
Level 11
Joined
Feb 22, 2006
Messages
752
You just need to add abilities. So if you want ability 'A000' (presumably some dummy ability) to trigger spell engine every time it is cast, just create a new Spell and pass 'A000' into the constructor and then register it. Once an ability is registered, it will trigger spell engine's events no matter what unit casts it.
 
Level 11
Joined
Feb 22, 2006
Messages
752
I'm not really sure if I understand your question correctly. But spell engine doesn't make distinctions amongst different unit types. If you register an ability with the system, when the ability is cast the spell engine events are triggered no matter what type of unit casts the spell or what type of unit is targeted by the spell (if the ability targets a unit).
 
Level 3
Joined
Jul 8, 2008
Messages
28
OverHead Casting Bar

im thinking why you dont Take the Blizzard OverHead Casting Bar (Bomb Commander.w3x) and make it just like this i think it will be more usefull because Blizzard OH-CB (OH - CB = OverHead Casting Bar :goblin_boom: ) and Transfer it into usefull Example like this map here. I think it will be more cool , Yes its gonna be Stealing but the Graphic of the OH-CB is better :vw_unimpressed: :goblin_yeah: and im Mostly Impressed by there work :) so if someone Understanding Jass could help me "Steal" the OH-CB from the map (*Blizza®d* Bomb Commander.w3x ) i will be Verry Greatfull :goblin_good_job: :goblin_yeah: if you gonna REALLY ( i mean it ) Really Help me ( Not Fake Help like "yaah man i will help you" and Year after that "Hey remmember me ? what happend with the Map" Answear: "im bussy man but i will do it soon" and Nothing after that ) just Send me Private Message if someone already Told me and Helped me with that Task i will send you message again that the Work is Done :) to not Spend your Time in Bull****s :grin: Thanks again :)
 
Level 3
Joined
Aug 21, 2009
Messages
73
This is really cool and I want it badly in my map but it doesn't work to get it. I don't get how to use the tools etc. way to advanced.
 
Top