HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Effect System

03-05-2008, 06:44 AM#1
zen87
The Effect System is a system that allows you to create complex effects easily and attach them to a certain units.

Version: 1.5
I'm back!! First let me say I'm sorry that it took me so long to update this map due to the fact that I'm lazy... The system has faced so many bugs and problem when I'm implying vex's Magic Timer on it, nothing good happens so instead of using one, I wrote myself a more simple timer system and it runs well after several testing and now it is ready for approval!

Download : Here

Requires :
- Basic Jass knowledge. (No vJass knowledge is required, no worries)
- Caster System (14.3 and above, credits to Vexorian)
- (1.5 update) Now it comes with a mini Caster System library that contains the Caster System functions that only used in the Effect System. (For more information please refer to the ReadMe in the map)

Features :
- Easily create certain periodic effect, circular effect, spiral effect, and many more, depends on how you manipulate the effect functions.
- Flexibility: manipulate the parameters of the shapes created in many ways.
- Uses vJass, 1 timer runs all the effect.
- Timed effects, automatically cleans up destroyed effect, preventing any possible leaks.
- Self-clean up for all effects, these effects will destroy/clean itself up once the attached target dies. (Note that effects added by using AddSpecialEffect(...) will still leaks when the unit it attached to are removed/decays unless you do DestroyEffect() on it)
- Detailed explanation of the function usage.
- Certain useful examples.

Mini Caster System (With the functions that used only in the Effect System)
Expand JASS:

Effect System Code
Expand JASS:

History:
Version 1.0 - First version of the system with the basic effects. (Instant effects, periodic effect, circular effect)
Version 1.1 - Bug fix, added delayed effect.
Version 1.2 - Optimization and improvement, added lightning effect.
Version 1.4 - More internal code optimization, some minor changes in lightning effect.
Version 1.5 - Caster System independent now (with the mini CasterSystemLibrary), added fading lightning effect, sample update.

Hidden information:
Version 1.5b
- Added a CasterSystemLibrary for user that don't wish to add the caster system to the map,
with this library you can still use the Effect System without the Caster System. (However
if you already have the Caster system, you can just leave it alone.)
- Lighting effects:
- Added FadeOutLightning that allows you to fade out lightning over period to make things
more realistic.
- Updated Hollow Void sample spell with the FadeOutLightning.

1.5b - fixed a typo causing the effect from stopped working...


Bonus :
- My JESP spell that created for Spell Making Session #8 : Hollow Void, it requires the effect system, have a look.
- Hollow Illusion, some randomly made illusion spell, fully utilize the usage of the Effect System :)
- Sky Bomber, another JESP spell created for Spell Making Session #10

Credits:
Vexorian - for the caster system and JASSHelper.
blu_da_noob - for the suggestions and the field for improvements.
moyack - for the suggestion on CasterSystem-independent and other feedbacks.
Attached Images
File type: jpges.jpg (85.5 KB)
Attached Files
File type: w3xEffect System 1.5b.w3x (229.3 KB)
03-05-2008, 07:14 AM#2
The Elite
some advice, if you post code in your post you will probably get it reviewed faster, i've noticed mods are very lazy
03-05-2008, 12:38 PM#3
Rising_Dusk
Quote:
i've noticed mods are very lazy
Actually, it just happens that I don't have access to WE or WC3 on any computer at which I have the time to review submissions. I'd request you not mistake that as laziness.

But yeah, code in the first post please. :)
03-05-2008, 04:49 PM#4
zen87
Okie, just added, but the code is quite long so... :) open at your own risk~
03-06-2008, 05:43 AM#5
The Elite
Quote:
Originally Posted by Rising_Dusk
Actually, it just happens that I don't have access to WE or WC3 on any computer at which I have the time to review submissions. I'd request you not mistake that as laziness.

But yeah, code in the first post please. :)
well maybe YOUR not lazy but i have read post by mods themselves admiting to the curse of lazyness!:)
03-07-2008, 12:23 PM#6
zen87
~___~ hmmmm any comments? Other than the mod being lazy or whatever...
03-07-2008, 12:25 PM#7
Rising_Dusk
Chill, dude, it's not even the weekend yet. Your system has more than 100 lines in it, I can't just read it in passing. Christ. :/
03-07-2008, 12:30 PM#8
moyack
Hey!! I have destined my weekend for a review, please be patient!!!
03-07-2008, 12:45 PM#9
zen87
eiks, sorry ><! cus posted the topic for few days and can't see some feedback around so thought the people were dreaming off lol!

sorry yea
03-10-2008, 03:01 AM#10
moyack
I've been so busy with real life that I've been unable to give a full review. But in general, according with the things I just saw, there are some stuff that I feel it should be "shorter" to define (I'll explain this later).

Can you help me by point me out where do you use Caster System??... in which parts of your system please?? I have the feeling that this system can be optimized much more.

I'll give more reviews tomorrow.
03-10-2008, 03:49 AM#11
zen87
hmph mainly is in the GetACaster() and RecycleCaster() part where I don't want my map to create tons of dummy handle (well just imagine one from effect sys and one for caster sys) around and lagging the map, however i could release a sub-version that don't require the CasterSystem...
03-10-2008, 07:49 PM#12
moyack
If your system uses a few times caster system, then you should try to add your own dummy recycler (Which is now easy with a simple struct) I did this is 10 minutes:

I'll do one just for fun... when I get home.
03-11-2008, 01:41 PM#13
zen87
well as i said up there i wanted to make the 2 system share the dummy recycler to save memory, anyway i'll make one caster system-independent version in the next version :)
03-12-2008, 01:44 AM#14
moyack
I did this, I haven't tested yet, but I'm pretty sure it works, can you do me the favor to test it??

Expand JASS:

More comments:

- In the function ModifyLightning you return the lightning when in the input, you enter the struct data that contains the lightning variable, so it's unnecessary, please make this function returns nothing.

- Please offer an alternate version that doesn't use the Caster system, because there are people who don't use this system.

- One question: Can I create triggered lightning effects which target fly units?? if yes, can you add a triggered Finger of dead sample in your map?? I hope you can do this.

In general very good stuff we have here. I'll await for the update.
03-13-2008, 02:55 AM#15
zen87
Alrite, just updated, with the alternate version that don't require Caster System, triggered Finger of Death.

I returned the lightning in the modify lightning mainly is because the user can change the lightning position in their trigger for effect adjustment manually (or something like that) so as long as the user don't destroy the lightning it is harmless :)