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 06-07-2006, 09:14 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 Chill of the Earth

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

CHILL OF THE EARTH
v1.4

Description: The temperature of the air surrounding any unit with this spell is so low that it actually congeals the land over which it travels. Any enemy units caught within this frozen earth will have a chance to fall over and slide when they are issued an order instead of following the order, then stunning them on the ground for an additional X seconds. (X is a constant that can be changed)

Background: Well I made this for the Spell Session #4. It didn't go over too terribly well, only got one honorable mention. But oh well, maybe someone else can find it useful. I took some of Vuen's advice and modified it slightly to make it more useful. I didn't go back and make a % chance every X seconds though, however I can if enough people would like to see it.

Special Thanks: All credits to anything I used are in the map, but I want to thank Vuen & Naakaloh for being the only people to offer real feedback on the spell, even if it was after the contest had ended. Apologies to Naak for not noticing he even looked at it, I wasn't aware he commented on EVERY spell, not just his top three. :P

Quote:
New Stuff:
1.2: Now it doesn't use the global group, it doesn't leak, and all of the things that everyone mentioned should be addressed.
I did the function call saver thingie Blu suggested, fixed everything like Blade suggested, all of the cote_ functions are now in the trigger itself. All timers are nulled, GetTriggerUnit() and GetEnumUnit() are both set to variables and then nulled at the end. What else... Oh, the GetRandomReal is now (0,100).

I also completely redid the MoveUnitToPolarProjection so it does one calculation and then uses that calculated value.

1.3: Ok, this update was a bit minor. Basically this fixed a backwards conditional, made the implementation of handles clearer so people would know you don't need two copies of them. Also fixed my only BoolExpr leak.

1.4: Updated the implementation portion of the map to better explain how to add the handle vars into another map.

Anyways, I hope you all enjoy.
Give credits where they're deserved if this should make its way into anyone's map.

Screenshot:
Attached Images
File Type: jpg Cote Pic22.jpg (57.8 KB, 718 views)
File Type: jpg Cote_Pic.jpg (151.1 KB, 509 views)
Attached Files
File Type: w3x SpellSession4_ChilloftheEarth_v1.4.w3x (54.0 KB, 469 views)
__________________

Last edited by Rising_Dusk : 06-09-2006 at 09:06 PM.
Rising_Dusk is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 06-08-2006, 03:02 AM   #2
Naakaloh
User
 
Naakaloh's Avatar
 
Join Date: Jun 2003
Posts: 619

Submissions (2)

Naakaloh is a jewel in the rough (154)Naakaloh is a jewel in the rough (154)

Spell Making Session 09 WinnerSpell Making Session 05 Winner

Send a message via AIM to Naakaloh
Default

Quote:
Originally Posted by Rising_Dusk
Special Thanks: All credits to anything I used are in the map, but I want to thank Vuen for being the only person to offer real feedback on the spell, even if it was after the contest had ended.

What about me? I tried to give some feedback and you're spell was my second choice. I feel sad and ignored now. Oh well, anyway, good choice with checking for the tileset, it doesn't look as odd. If you still want suggestions, I still recommend reverting the tileset back to whatever it was instead of snow, but hey, it's your choice, it doesn't really affect gameplay unless it changes an unbuildable terrain type to a buildable one.

Edit: Just ran the map... Apparently there's an issue with occasionally neglecting to change the ice.
__________________
"The geeks will play their game."
- Kowalski

Last edited by Naakaloh : 06-08-2006 at 03:10 AM.
Naakaloh is offline   Reply With Quote
Old 06-08-2006, 06:37 AM   #3
Blade.dk
.
 
Blade.dk's Avatar


Respected User
 
Join Date: May 2005
Posts: 1,990

Submissions (15)

Blade.dk is a glorious beacon of light (418)Blade.dk is a glorious beacon of light (418)Blade.dk is a glorious beacon of light (418)Blade.dk is a glorious beacon of light (418)Blade.dk is a glorious beacon of light (418)Blade.dk is a glorious beacon of light (418)

Approved Map: Azeroth's Arcane ArenaSpell session 01 winner

Send a message via MSN to Blade.dk
Default

Quote:
Originally Posted by JESP Standard
- Does not use any Global variable that is specific for the spell (It may use non-specific
global variables)

That is one of the requirements for the JESP Standard, and your spell uses a global specific to it (the unit group).

Quote:
Originally Posted by JESP Standard
- All the spell's specific code is inside the spell's "Trigger" (Trigger== that custom text
slot that world editor calls Trigger, the spell may use as many 'trigger' objects as needed)

Like half of your cote_ functions are in the map's custom script section.

Why do you not use the original version of the handle variables? It is annoying when everybody uses their own renamed versions, makes importing spells harder.

You do not set a timer to null a single place, why not?

The bug is very rare, you should only care about it when you see it. And I doubt it has happened in every single function in the map.

When you use GetTriggerUnit many times in the same function, it gets inefficient. Better save it in a local in the start of the function (the function I am talking about is cote_SlideConditions, it might be the same other places too).

Why do you use GetRandomReal(1, 100) for the percentage? Most people use 0, 100, for a reason. 0 is also a valid percentage.
________________

It is a nice spell, but you have to fix some things before it can be approved.
If you have the JESP Document in your map, the spell MUST follow the standard to be approved.
I suggest looking at the other points I wrote too.
__________________
Spell Making Course: Part 1: Making a simple stomp spell.
I wonder if I'll ever finish part 2.
Blade.dk is offline   Reply With Quote
Old 06-08-2006, 07:10 AM   #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

It should be GetRandomReal(0,99.99999) :P Agree with everything else Blade said.

Also:
Collapse JASS:
((cote_InitialPercent() - cote_PercentPerLevel()) + (cote_PercentPerLevel()*level))
Could be:
Collapse JASS:
((cote_InitialPercent()  + (cote_PercentPerLevel()*(level - 1)))
Saving a function call.

You also repeatedly use GetEnumUnit() in cote_GroupTerrainEffect (similar to the TriggerUnit thing mentioned by Blade).

You use a MoveUnitToPolarProjection, which is very inefficient. The direction the units are moving in doesn't change, so store the Sin/Cos of the angle and use those directly. Why do you have two separate function for movement and rotation anyway? It ends up with two 0.033 repeating timers per unit, a single one would be much better.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-08-2006, 04:07 PM   #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

Alright, I'll go through and work out everything you all mentioned.
Give me a bit and I'll update it.

Sorry everything was so screwy, Blade, it appears you got kinda angry at the spell.
Apologies for not following JESP perfectly, it was my first time, I'll fix it all right away.

Naak, apologies! I wasn't aware you went through every spell! Thanks! >_<
(I fixed the top too!)


EDIT: OK!
It's all redone, the update is at the top.
__________________

Last edited by Rising_Dusk : 06-08-2006 at 07:09 PM.
Rising_Dusk is offline   Reply With Quote
Old 06-09-2006, 04:26 PM   #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

A great improvement, good work. A couple more things that could be improved though ^^.

Collapse JASS:
    call SetReal(rns, "anglecos", Cos((bj_PI/180)*angle))

Instead of calculating bj_PI/180 everytime, use either the constant bj_DEGTORAD, or the actual value of pi/180.

Collapse JASS:
            if GetRandomReal(0, 100) > (cote_InitialPercent()  + (cote_PercentPerLevel()*(level - 1))) then

Should be less than ^^. You're inverting the % chance atm (to see it easily, look what would happen if you gave it 100% chance).

Collapse JASS:
    call GroupEnumUnitsInRect(g, map, Condition(function cote_GroupCheck))

GroupEnumUnitsInRect is a common.j function and, as such, does not clean up the boolexpr. You will need to do it manually.


The last thing is the fact that you have the handle variables in two separate places, and your installation instructions make it sound like you should copy both sets over. Maybe just clarify that a little.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-09-2006, 05:48 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

The first one I can fix in a split second, no prob.
The second one I must have been an idiot for doing, that's what happens when you don't pay 100% attention, -_-.

And yeah, I'll set the BoolExpr to a var and clean it up myself.
I'll update in like ten minutes.

EDIT: There, fixed, fixed, and fixed.
That's everything you mentioned. Sorry there was so much wrong with it. -_-;;
__________________

Last edited by Rising_Dusk : 06-09-2006 at 06:01 PM.
Rising_Dusk is offline   Reply With Quote
Old 06-09-2006, 07:37 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

You still haven't clarified about the installation of the handle vars, but it's not vital, and I'll approve in anticipation of it being rectified.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-09-2006, 09:07 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

Alright, well I went back and rewrote that whole section.
It should be much clearer on how to add handle vars to any given map now.

Let me know if I need to add more. :P
__________________
Rising_Dusk is offline   Reply With Quote
Old 06-09-2006, 09:22 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

Seems fine to me.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-10-2006, 07:59 PM   #11
SeruK
I'm the One
 
SeruK's Avatar


Project Member: WotTH
 
Join Date: Dec 2005
Posts: 1,153

Submissions (8)

SeruK has a spectacular aura about (105)SeruK has a spectacular aura about (105)SeruK has a spectacular aura about (105)SeruK has a spectacular aura about (105)

Send a message via MSN to SeruK
Default

Reminds me of Morran in the Mumin trolls. xD Everywhere she walks turn into ice.

For the unknowing

__________________
Halp: SKrumble '08! v1.8 Alpha BF2 "It's impossible, my trigger is perfect!"

Last edited by SeruK : 06-10-2006 at 08:00 PM.
SeruK is offline   Reply With Quote
Old 10-26-2006, 04:47 PM   #12
Zachary_Shadow
User
 
Join Date: Aug 2003
Posts: 1,112

Zachary_Shadow is on a distinguished road (13)

Default

Have to say I'm not impressed, not by the coding, kudos on that! But on the actual usage of the spell... Wouldn't it be possible to change it to maybe, every time a unit attacks instead of is issued an attack order ? And keep the move order... that would make the unit drop alot more, and actually make it valuable to implement.
__________________
|---- Old and Back ----|
HvsH - Hell vs Heaven AoS
Current State: Alpha v. 0.01

|||||||||| 99% - Terrain
|||||||||| 50% - Triggers
|||||||||| 25% - Items
|||||||||| 05% - Special Item System
|||||||||| 65% - Heros
|||||||||| 20% - Spells
|||||||||| 90% - Selection System
Complete:
|||||||||| 100% - Special Gold System


-------------------------------
Zachary_Shadow 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 04:03 AM.


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