wc3campaigns
WC3C Homepage - www.wc3c.netUser Control Panel (Requires Log-In)Engage in discussions with other users and join contests in the WC3C forums!Read one of our many tutorials, ranging in difficulty from beginner to advanced!Show off your artistic talents in the WC3C Gallery!Download quality models, textures, spells (vJASS/JASS), systems, and scripts!Download maps that have passed through our rigorous approval process!

Go Back   Wc3C.net > Resources > Code Resources > Spells
User Name
Password
Register Rules Get Hosted! Chat Pastebin FAQ and Rules Members List Calendar



Reply
 
Thread Tools Search this Thread
Old 08-25-2006, 10:06 PM   #1
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,727

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default Hurricane

NOTE: You have been redirected in order for our attachments to be made available to you. This will only last two minutes; these measures where taken to avoid hotlinking and bandwidth theft.
To avoid these restrictions Log in or Register

Zoom (requires log in)
HURRICANE
v1.2

Description: Creates a torrent of water around the caster if it is standing on water. This hurricane will pick up any unit's it comes in contact with, spinning them around the caster for a few seconds, then damaging and tossing them away.

Background: This spell is made specifically for use in Spell Session #7 on wc3c (Here, duh!). It is fully written in jass and completely follows the JESP manifest.

Quote:
New Stuff:
v1.0: Spell created and submitted for critique.
v1.1: Modified credits to include Vile for the sliding effects.
v1.2: Fixed a minor bug that allowed multiple knockbacks at once, adjusted the code to be more optimized and less laggy on lower-end computers, added constant functions for if the spell requires water to cast, and added additional other fixes. Fixed handles on public objects not using the 'Hurr_' prefix.

Special Thanks: All credits to anything I used are in the map, but I'll also do it here. Thanks to Vex for making JESP, Vile for the knockback particles, and thanks to Wc3c for hosting another fun contest for me to partake in! I'm super happy my spell did so well, it was a close contest and I'm glad there was lots of competition!

I would also like to personally thank Blu for all of his help and support. I seriously think without him around I would die a horrible death.
He helped me so much, I can't even begin to imagine this lil' paragraph being enough credit.
Thanks Blu, I owe ya' one. <3

I would also like to thank the happy people of this site for electing my spell to win the contest.
I'm glad at least I can support the modding community the only way I know how --
With my coding. :3
Attached Images
File Type: jpg Hurricane.jpg (73.0 KB, 1854 views)
Attached Files
File Type: w3x SpellSession7_Hurricane_v1.2.w3x (72.5 KB, 1083 views)
__________________

Last edited by Rising_Dusk : 09-03-2006 at 06:26 PM.
Rising_Dusk is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 08-26-2006, 09:44 AM   #2
Tim.
Missing You All at Wc3c
 
Tim.'s Avatar


Site Owner
 
Join Date: Jul 2003
Posts: 4,474

Submissions (18)

Tim. is a name known to all (502)Tim. is a name known to all (502)Tim. is a name known to all (502)Tim. is a name known to all (502)Tim. is a name known to all (502)

Approved Map: PiratesSpell making session 3 winner

Default

That image is a little too big. Can you bring it down to 800 width, please?
__________________
"oO and if anyone called Tim. trys to make an account then kick there butts." -Mavus, moderator of the GTW forums


Avast! Seen Pirates? Get it here!
Tim. is offline   Reply With Quote
Old 08-26-2006, 02:54 PM   #3
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,727

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Hrm.. I myself don't consider it too big when it isn't even the entire width of a post --
Maybe it's 'cuz my monitor is widescreen.

I dropped it to 800x460.
It looks to be better sized now.
__________________

Last edited by Rising_Dusk : 08-26-2006 at 03:04 PM.
Rising_Dusk is offline   Reply With Quote
Old 08-28-2006, 04:36 PM   #4
blu_da_noob
Nonchalant
 
blu_da_noob's Avatar


Respected User
 
Join Date: Mar 2006
Posts: 1,933

Submissions (2)

blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)

[Quicksilver #2] - 2nd Place[Quicksilver#1] 1st place

Send a message via MSN to blu_da_noob
Default

Yeah, so ditto other thread. I'm back at home with WE access now, so I'll check this out after homework. Edit in with any fixes or approval.

Ok, here goes:
In general: I recomend you store the hero's level of the ability when he starts casting and use it from that storage thereafter (in case he levels up the ability while channeling etc).

Your function Hurr_CastCheck_Conditions leaks a handle reference because you return without nulling the unit variable. Rather than just fixing that, I would combine the casting condition and the spell effect condition into one, removing the need for the second trigger. Example can be found here: http://www.wc3campaigns.net/showthread.php?t=83132 (self plug yay).

In the Hurr_Cast_Actions you store the timer as an integer and then convert it back to a timer everytime you attach something to it, but inside the attach functions it is converted back to an integer. Using the natives here would so much better ;-) (The same applies to every other function which does the same thing, also applies to GetHandleXXX where natives could be used instead [real, integer etc I can understand it in the case of return bugging ones]).

In function Hurr_HydroCharge, instead of using the BJ to count units (effectively) and check if there is one, you could set a temporary unit variable to FirstOfGroup(g), remove that unit from the group and then check if the new FirstOfGroup(g) is null (then readd the unit afterwards).

For the knockback effect you create a new timer for each unit. You could instead use a single timer with a group containing all the 'knock-backees' attached to it. (Just noticed you create 2 separate timers per unit for effect and knockback, could be much better :) )

I would suggest adding constant functions to allow people to change things such as model paths and a boolean determining whether the spell requires water or not.
__________________
blu_da_noob is offline   Reply With Quote
Old 08-29-2006, 02:35 AM   #5
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,727

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Quote:
I recomend you store the hero's level of the ability when he starts casting and use it from that storage thereafter (in case he levels up the ability while channeling etc).
I here ya' there, consider it as good as done.
Quote:
Your function Hurr_CastCheck_Conditions leaks a handle reference because you return without nulling the unit variable. Rather than just fixing that, I would combine the casting condition and the spell effect condition into one, removing the need for the second trigger.
I am ashamed to have leaked all over your computer, I shall mend this atrosity.
Quote:
In the Hurr_Cast_Actions you store the timer as an integer and then convert it back to a timer everytime you attach something to it, but inside the attach functions it is converted back to an integer. Using the natives here would so much better ;-) (The same applies to every other function which does the same thing, also applies to GetHandleXXX where natives could be used instead [real, integer etc I can understand it in the case of return bugging ones]).
I have no idea what you just said, so you're going to have to explain that one clearer.
I have never worked with the GetStoredXXXXX() natives, I don't know their behavior directly, nor do I have any clue how to manipulate them.
You'll need to enlighten me on that over AIM sometime.
Quote:
In function Hurr_HydroCharge, instead of using the BJ to count units (effectively) and check if there is one, you could set a temporary unit variable to FirstOfGroup(g), remove that unit from the group and then check if the new FirstOfGroup(g) is null (then readd the unit afterwards).
Easy 'nuff, it shall be done my lord.
Quote:
For the knockback effect you create a new timer for each unit. You could instead use a single timer with a group containing all the 'knock-backees' attached to it. (Just noticed you create 2 separate timers per unit for effect and knockback, could be much better :) )
Boo hiss! That implies keeping a single timer running constantly until the spell is over. I'm not a huge fan of that method...
I'll experiment with it, but no guarantees, it seems questionable to me.
Quote:
I would suggest adding constant functions to allow people to change things such as model paths and a boolean determining whether the spell requires water or not.
Blah, blah. :P
Can't use constant functions to change the model of a dummy unit and I didn't use the single bone dummy to attach an SFX to for ease of implementation.
The constant for the "Is Water Necessary" bit I shall add though, sounds nifty.

I'll get to work on it sometime this week.
I've got some lame-o essays I need to whip out before I can do any intensified work on it though.
Expect the update sometime this weekend if not slightly sooner.
__________________
Rising_Dusk is offline   Reply With Quote
Old 08-29-2006, 11:49 AM   #6
blu_da_noob
Nonchalant
 
blu_da_noob's Avatar


Respected User
 
Join Date: Mar 2006
Posts: 1,933

Submissions (2)

blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)

[Quicksilver #2] - 2nd Place[Quicksilver#1] 1st place

Send a message via MSN to blu_da_noob
Default

Quote:
I have no idea what you just said, so you're going to have to explain that one clearer.
I have never worked with the GetStoredXXXXX() natives, I don't know their behavior directly, nor do I have any clue how to manipulate them.
You'll need to enlighten me on that over AIM sometime.

If you're around 'tonight' (my time :P) I can help you with that.

Quote:
Boo hiss! That implies keeping a single timer running constantly until the spell is over. I'm not a huge fan of that method...
I'll experiment with it, but no guarantees, it seems questionable to me.

Not sure about you, but I'd rather have one timer running for the duration of the spell than up to 8 or so running at once ;-).

Quote:
Can't use constant functions to change the model of a dummy unit and I didn't use the single bone dummy to attach an SFX to for ease of implementation.
The constant for the "Is Water Necessary" bit I shall add though, sounds nifty.

I know about that (you mentioned it in the config), so I wasn't referring to the dummy unit. I saw somewhere else that you had an effect immediately created and destroyed. That's what I was talking about.
__________________
blu_da_noob is offline   Reply With Quote
Old 08-29-2006, 01:54 PM   #7
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,727

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

I have an effect immediately created and destroyed?
Man, that's news to me, even I didn't know I had that. *Goes to check it out*

And classes go a little late for me today, it'll be 10+ PM your time by the time I get back. :(
__________________
Rising_Dusk is offline   Reply With Quote
Old 09-02-2006, 12:07 PM   #8
blu_da_noob
Nonchalant
 
blu_da_noob's Avatar


Respected User
 
Join Date: Mar 2006
Posts: 1,933

Submissions (2)

blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)

[Quicksilver #2] - 2nd Place[Quicksilver#1] 1st place

Send a message via MSN to blu_da_noob
Default

Please try to get the optimisations done :). Shouldn't take you long to fix it up, and let me know as soon as you do as it should be good to go then.
__________________
blu_da_noob is offline   Reply With Quote
Old 09-03-2006, 04:23 PM   #9
Rising_Dusk
Obscurity, the Art


Projects Director
Project Leader: OD
 
Join Date: Feb 2006
Posts: 9,727

Submissions (27)

Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)Rising_Dusk has a reputation beyond repute (1192)

Hero Contest #3 - 1st PlaceApproved Map: Desert of ExileApproved Map: Advent of the ZenithHero Contest #2 - 1st PlaceHero Contest - Third place>

Send a message via AIM to Rising_Dusk Send a message via MSN to Rising_Dusk
Default

Okay everyone fully updated to match all criteria necessary.
See first post for details.
__________________
Rising_Dusk is offline   Reply With Quote
Old 09-03-2006, 06:23 PM   #10
blu_da_noob
Nonchalant
 
blu_da_noob's Avatar


Respected User
 
Join Date: Mar 2006
Posts: 1,933

Submissions (2)

blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)blu_da_noob is just really nice (398)

[Quicksilver #2] - 2nd Place[Quicksilver#1] 1st place

Send a message via MSN to blu_da_noob
Default

Quote:
I would also like to personally thank Blu for all of his help and support. I seriously think without him around I would die a horrible death.
He helped me so much, I can't even begin to imagine this lil' paragraph being enough credit.
Thanks Blu, I owe ya' one. <3

Approved? <3
__________________
blu_da_noob is offline   Reply With Quote
Old 09-04-2006, 09:31 PM   #11
BertTheJasser
xyzi - our universe
 
BertTheJasser's Avatar
 
Join Date: May 2005
Posts: 742

Submissions (2)

BertTheJasser has a spectacular aura about (111)BertTheJasser has a spectacular aura about (111)BertTheJasser has a spectacular aura about (111)BertTheJasser has a spectacular aura about (111)

Default

I love it (even the code is nasty). +Rep
__________________
Note: Bye... I had a lot of fun here!
Special thanks to Vexorian who helped me learn jass, the real jass and always helped me when problems occured, I would call him somehow my mentor. Pipedream, who made amazing Grimoire and helped me acclerating my map (currently at 99% finished, no developement atm).

Vote for Linux Ports in general of Blizzard products: http://www.PetitionOnline.com/ibpfl/
BertTheJasser is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 06:04 PM.


Donate

Affiliates
The Hubb http://bylur.com - Warcraft, StarCraft, Diablo and DotA Blog & Forums The JASS Vault Clan WEnW Campaign Creations Clan CBS GamesModding Flixreel Videos

Powered by vBulletin (Copyright ©2000 - 2014, Jelsoft Enterprises Ltd).
Hosted by www.OICcam.com
IT Support and Services provided by Executive IT Services