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-08-2006, 02:43 AM   #1
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 Spell Session 4 - Boil

Boil

Causes water in the area of effect to boil violently, dealing damage to units in the boiling area and causing scalding water to splash into the air. Every time a splash lands it deals damage in an area and if it lands it water it will bounce into the air again.

Modifications:
I've added a function to check for whether or not the area surrounding a point is land or not to try to minimize the amount by which the land moves for the terrain deformations. It seems rather clumsy to me, but I guess it will do.

Click image for larger version

Name:	Boil.jpg
Views:	898
Size:	190.8 KB
ID:	7273
Naakaloh Spell Session 04 - Boil 1.35.w3x (Updated Version 4)
__________________
"The geeks will play their game."
- Kowalski

Last edited by Naakaloh : 06-15-2006 at 05:36 PM.
Naakaloh is offline   Reply With Quote
Sponsored Links - Login to hide this ad!
Old 06-08-2006, 06:53 AM   #2
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

It is a really nice spell, but there's some things that could be better:

There's no reason or need to use == true on all your booleans in your if statements, == true is a worthless waste of space. Also, you can use "not <boolean>" instead of "<boolean> == false".

Why do you not set the timer variables to null? If you had any problems with it, then I understand why, but it is rare bug, so unless you had problems you should not really care.

Collapse JASS:
        set tempGroup = GetUnitsInRangeOfLocMatching( BoilRadius(), inLoc, Condition( function BoilingWaterDamageFilter ))

Blizzard.j group enumeration functions has internal not-set-to-null leaks, better do things directly yourself.

Using ForGroupBJ is kind of worthless when you do not use the bj_destroyGroup boolean or whatever it is called. I suggest you to remove the 'BJ'.

Quote:
Originally Posted by JESP Standard
- Every single function or handle variables (attached variables) of a public object,
Begins with the spell's codename plus "_" . (This means that replacing the codename with
another value would create a non conflicting new instance of the spell).

Your spell does not follow the JESP Standard, as the functions are not named after this rule.

Collapse JASS:
    call TriggerAddCondition( trig, Condition( function BoilAbilityCondition ))
    call TriggerAddAction( trig, function BoilCancelChannel )

This has multiple leaks.

I would have removed debugging messages when the spell was finished, instead of just commenting them out. Not like this matters much, though.

It would be nice if the spell gave you an error and stopped when you try to cast it in an invalid area, where there is no water, instead of making you lose mana and have to wait for the cooldown.

The spell looks great, but if possible, then it would look even better if there was an option to make the color of the water effects fit the color of the water in the map (it looks a bit weird when totally blue water comes up of a green lake).

Please fix the leaks and the error with it not following the JESP Standard even though it claims to do so, and it can be approved. I suggest you to also notice the other things I wrote and care about them :).
__________________
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-09-2006, 12:41 AM   #3
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 Blade.dk
Collapse JASS:
    call TriggerAddCondition( trig, Condition( function BoilAbilityCondition ))
    call TriggerAddAction( trig, function BoilCancelChannel )
This has multiple leaks.

I'm really not sure how I should deal with them. Will TriggerClearActions work for the action?
__________________
"The geeks will play their game."
- Kowalski
Naakaloh is offline   Reply With Quote
Old 06-09-2006, 04:09 PM   #4
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

You will have to save the triggeraction object (it is returned by the TriggerAddAction native), and later destroy it with TriggerRemoveAction.

Same with the triggercondition, just other function names. And the boolexpr must be removed 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-09-2006, 05:13 PM   #5
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

First post updated.

Quote:
There's no reason or need to use == true on all your booleans in your if statements, == true is a worthless waste of space. Also, you can use "not <boolean>" instead of "<boolean> == false".

Heh... for some reason I was under the impression that WE would give a compile error for that notation. Thanks.

Quote:
Why do you not set the timer variables to null? If you had any problems with it, then I understand why, but it is rare bug, so unless you had problems you should not really care.

Fixed. I not exactly sure how the bug occurs, so I chose to avoid any situation that might cause it.

Quote:
Blizzard.j group enumeration functions has internal not-set-to-null leaks, better do things directly yourself.
Quote:
Using ForGroupBJ is kind of worthless when you do not use the bj_destroyGroup boolean or whatever it is called. I suggest you to remove the 'BJ'.

Fixed. Didn't even realize it was a Blizzard.j function. Didn't notice the BJ.
Edit: Check my on the enumeration function fix; I'm not entirely clear what to clean up.

Quote:
Quote:
Originally Posted by JESP Standard
- Every single function or handle variables (attached variables) of a public object,
Begins with the spell's codename plus "_" . (This means that replacing the codename with
another value would create a non conflicting new instance of the spell).

Your spell does not follow the JESP Standard, as the functions are not named after this rule.

I believe it does comply now. I couldn't find any other names to modify, but it might be good to have another pair of eyes go over it.

Quote:
Collapse JASS:
    call TriggerAddCondition( trig, Condition( function BoilAbilityCondition ))
    call TriggerAddAction( trig, function BoilCancelChannel )
This has multiple leaks.

Please check my fix, I am quite unsure about this one.

Quote:
I would have removed debugging messages when the spell was finished, instead of just commenting them out. Not like this matters much, though.

As you wish. :)

Quote:
It would be nice if the spell gave you an error and stopped when you try to cast it in an invalid area, where there is no water, instead of making you lose mana and have to wait for the cooldown.

Done.

Quote:
The spell looks great, but if possible, then it would look even better if there was an option to make the color of the water effects fit the color of the water in the map (it looks a bit weird when totally blue water comes up of a green lake).

If you have any suggestions on detecting the color of the texture used for the water, I'll be happy to try to implement something that tints the missiles. I had thought about checking the cliff terrain type, but I'm not exactly sure how to do that or if it will work. I'm also not sure if the missiles will tint correctly. But really, it's not so bad, and if you think about it, the water's being boiled, so maybe you could say it's being distilled? (Poor excuse, I know.)
__________________
"The geeks will play their game."
- Kowalski

Last edited by Naakaloh : 06-09-2006 at 05:19 PM.
Naakaloh is offline   Reply With Quote
Old 06-09-2006, 10:35 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

Collapse JASS:
    set x = 0
    set y = 0
    set radiusStep = 0
    set A = 0
    set B = 0
    set stop = 0

endfunction

Integers and reals don't need to be set to 0 at the end of a function. You do it (wastefully) in many places.

Collapse JASS:
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Boil, EVENT_PLAYER_UNIT_SPELL_CAST )

You register the Unit Spell Cast event, which can be abused. Use EVENT_PLAYER_UNIT_SPELL_EFFECT instead.

Collapse JASS:
        call IssueImmediateOrder( GetTriggerUnit(), "stop" )

Just issueing a stop order isn't fast enough to stop a unit from starting to cast an ability, you need to pause the unit, issue the stop order, and then unpause it.

Collapse JASS:
    if( GetSpellAbilityId() == 'A002' ) then

You hardcoded that in instead of using the constant function.

Collapse JASS:
        exitwhen A >= R2I(Boil_Radius() / radiusStep ) + 1

You should store the value of Boil_Radius() to prevent having to call the function many times. You should also add an 'or WaterInArea' to that exitwhen, so that if water is found early you don't search the rest of the area anyway.

Collapse JASS:
    set trigCondition = TriggerAddCondition( trig, bx )
    set trigAction = TriggerAddAction( trig, function Boil_CancelChannel )
    call SetHandleHandle( trig, "Boil_CancelChannelTriggerAction", trigAction )
    call SetHandleHandle( trig, "Boil_CancelChannelTriggerCondition", trigCondition )

You don't need the variables, as those could be inlined as:
Collapse JASS:
        call SetHandleHandle( trig, "Boil_CancelChannelTriggerAction", TriggerAddAction( trig, function Boil_CancelChannel ) )
    call SetHandleHandle( trig, "Boil_CancelChannelTriggerCondition", TriggerAddCondition( trig, bx ) )

Using a 0.01 repeating timer for the actions is overkill. Better change to about 0.04, still smooth enough, but much less strain.

Collapse JASS:
    local boolexpr bx = Condition( function Boil_ChannelStopAbilityCondition )

You declare and create this bxpr, and later destroy it, but never use it. Should be removed.

Collapse JASS:
call GroupAddUnit( GetHandleGroup( t, "Boil_Missiles" ), tempUnit )

You should store the group in the timer callback function instead of retrieving it from game cache everytime.


Collapse JASS:
    call SetHandleReal( tempUnit, "Boil_xVel", inX * Cos(Deg2Rad(GetUnitFacing(tempUnit))))

A Deg2Rad function call isn't needed. Just multiply angle by bj_DEGTORAD.

Collapse JASS:
        call GroupEnumUnitsInRange( tempGroup, inX, inY, Boil_Radius(), Condition( function Boil_BoilingWaterDamageFilter ))

Leaks a boolexpr (the filter).

Collapse JASS:
        set A = CountUnitsInGroup(tempGroup)

        loop
            exitwhen (A <= 0)
            call Boil_WaterDamageTarget( source, FirstOfGroup(tempGroup) )
            call GroupRemoveUnit( tempGroup, FirstOfGroup(tempGroup) )
            set A = A - 1
        endloop

Inefficient method of looping. Store FirstOfGroup(group) in a variable, do actions and remove it from the group, exitwhen variable == null.

Collapse JASS:
(( CountUnitsInGroup(GetHandleGroup( t, "Boil_Missiles")) > 0)) )

Can be replaced with:
Collapse JASS:
(FirstOfGroup(GetHandleGroup( t, "Boil_Missiles")) != null)

Collapse JASS:
        call TimerStart( t, Period(), false, function Boil_Action)

Instead of using a repeating timer, you use a single expiration timer and restart it each time. Why?

Collapse JASS:
    call FlushHandleLocals( tempUnit )
    call DestroyEffect( GetHandleEffect( tempUnit , "Boil_ProjectileEffect" ))

You are flushing the local vars on a unit, then trying to get an effect that was attached to it. That GetHandleEffect will be return null, meaning it is leaking the effect.

Collapse JASS:
    call TriggerRemoveAction( trig, GetHandleTriggerAction( trig, "Boil_CancelChannelTriggerAction" ))

Removing the action from a trigger stops the execution of that trigger immediately, meaning that anything below that (including the removing of condition, destroying of trigger and nulling of variables) doesn't happen, making it leak.

Collapse JASS:
    local real magnitude = (Boil_Radius() * GetRandomReal( 0.05, 1.00 ))

Getting the magnitude like that doesn't have an equal distribution of points in the circle. Instead it should be:

Collapse JASS:
local real magnitude = SquareRoot(GetRandomReal(0,1))*Boil_Radius()


Throughout the projectile move function, you use Period(). Store the value in a variable to prevent extra function calls.


I've probably missed a few things, but I'll have to go over it again after you fix stuff up anyway.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-09-2006, 11:00 PM   #7
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

First post updated.

Thanks... I guess it's better to be criticized for being lazy than to never have anyone make you change something. :/
Quote:
Collapse JASS:
    set x = 0
    set y = 0
    set radiusStep = 0
    set A = 0
    set B = 0
    set stop = 0

endfunction
Integers and reals don't need to be set to 0 at the end of a function. You do it (wastefully) in many places.
Ok, just being excessively cautions
Quote:
Collapse JASS:
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Boil, EVENT_PLAYER_UNIT_SPELL_CAST )

You register the Unit Spell Cast event, which can be abused. Use EVENT_PLAYER_UNIT_SPELL_EFFECT instead.
I thought I did use EVENT_PLAYER_UNIT_SPELL_EFFECT... maybe I changed the wrong copy of the map... Fixed.
Quote:
Collapse JASS:
        call IssueImmediateOrder( GetTriggerUnit(), "stop" )
Just issueing a stop order isn't fast enough to stop a unit from starting to cast an ability, you need to pause the unit, issue the stop order, and then unpause it.
Ok, I noticed that without pausing the was the spell was cancelled, but the animation still played. Fixed.
Quote:
Collapse JASS:
    if( GetSpellAbilityId() == 'A002' ) then
You hardcoded that in instead of using the constant function.
I have absolutely no idea why I added that... Fixed.
Quote:
Collapse JASS:
        exitwhen A >= R2I(Boil_Radius() / radiusStep ) + 1
You should store the value of Boil_Radius() to prevent having to call the function many times. You should also add an 'or WaterInArea' to that exitwhen, so that if water is found early you don't search the rest of the area anyway.
Fixed.
Quote:
Collapse JASS:
    set trigCondition = TriggerAddCondition( trig, bx )
    set trigAction = TriggerAddAction( trig, function Boil_CancelChannel )
    call SetHandleHandle( trig, "Boil_CancelChannelTriggerAction", trigAction )
    call SetHandleHandle( trig, "Boil_CancelChannelTriggerCondition", trigCondition )
You don't need the variables, as those could be inlined as:
Collapse JASS:
        call SetHandleHandle( trig, "Boil_CancelChannelTriggerAction", TriggerAddAction( trig, function Boil_CancelChannel ) )
    call SetHandleHandle( trig, "Boil_CancelChannelTriggerCondition", TriggerAddCondition( trig, bx ) )
I realized that after I did it and lazily decided not to fix it. Fixed now.
Quote:
Using a 0.01 repeating timer for the actions is overkill. Better change to about 0.04, still smooth enough, but much less strain.
Collapse JASS:
        call TimerStart( t, Period(), false, function Boil_Action)
Instead of using a repeating timer, you use a single expiration timer and restart it each time. Why?
Only the first starting of the timer is 0.01, the rest use 0.04. I'm not sure why I restarted it, I think I was planning on having the period variable at first and decided do to it differently but left it there.
Quote:
Collapse JASS:
    local boolexpr bx = Condition( function Boil_ChannelStopAbilityCondition )
You declare and create this bxpr, and later destroy it, but never use it. Should be removed.
Unless I'm mistaken, it is used.
Quote:
Collapse JASS:
call GroupAddUnit( GetHandleGroup( t, "Boil_Missiles" ), tempUnit )
You should store the group in the timer callback function instead of retrieving it from game cache everytime.
Fixed.
Quote:
Collapse JASS:
    call SetHandleReal( tempUnit, "Boil_xVel", inX * Cos(Deg2Rad(GetUnitFacing(tempUnit))))
A Deg2Rad function call isn't needed. Just multiply angle by bj_DEGTORAD.
Fixed.
Quote:
Collapse JASS:
        call GroupEnumUnitsInRange( tempGroup, inX, inY, Boil_Radius(), Condition( function Boil_BoilingWaterDamageFilter ))

Leaks a boolexpr (the filter).
Ah, didn't realize it, thanks. Fixed.
Quote:
Collapse JASS:
        set A = CountUnitsInGroup(tempGroup)

        loop
            exitwhen (A <= 0)
            call Boil_WaterDamageTarget( source, FirstOfGroup(tempGroup) )
            call GroupRemoveUnit( tempGroup, FirstOfGroup(tempGroup) )
            set A = A - 1
        endloop
Inefficient method of looping. Store FirstOfGroup(group) in a variable, do actions and remove it from the group, exitwhen variable == null.
Clever, I hadn't actually thought of that. Thanks.
Quote:
Collapse JASS:
(( CountUnitsInGroup(GetHandleGroup( t, "Boil_Missiles")) > 0)) )
Can be replaced with:
Collapse JASS:
(FirstOfGroup(GetHandleGroup( t, "Boil_Missiles")) != null)
Actually, I had tried to do it but it doesn't seem to work properly. Probably something that I do with the group, but I can't find it.
Quote:
Collapse JASS:
    call FlushHandleLocals( tempUnit )
    call DestroyEffect( GetHandleEffect( tempUnit , "Boil_ProjectileEffect" ))
You are flushing the local vars on a unit, then trying to get an effect that was attached to it. That GetHandleEffect will be return null, meaning it is leaking the effect.
Fixed. I had forgotten about that function, it's actually a backup in the event something causes the missiles to stop prematurely.
Quote:
Collapse JASS:
    call TriggerRemoveAction( trig, GetHandleTriggerAction( trig, "Boil_CancelChannelTriggerAction" ))
Removing the action from a trigger stops the execution of that trigger immediately, meaning that anything below that (including the removing of condition, destroying of trigger and nulling of variables) doesn't happen, making it leak.
Ok, I'm going to leave the triggeractions alone for now, since I can't figure out how to get rid of them. This is just one handle every time the spell is cast, so at the moment I'm not worried about it.
Quote:
Collapse JASS:
    local real magnitude = (Boil_Radius() * GetRandomReal( 0.05, 1.00 ))
Getting the magnitude like that doesn't have an equal distribution of points in the circle. Instead it should be:

Collapse JASS:
local real magnitude = SquareRoot(GetRandomReal(0,1))*Boil_Radius()
The intention was to force the distribution to be a little more away from the center. I'm not sure if 0.05 is a large enough factor, but it seems fine to me.
Quote:
Throughout the projectile move function, you use Period(). Store the value in a variable to prevent extra function calls.
Fixed.
Quote:
I've probably missed a few things, but I'll have to go over it again after you fix stuff up anyway.
Thanks. Sorry for being lazy. My instructors tend to say similar things about my laziness, though, I could be worse. :)
__________________
"The geeks will play their game."
- Kowalski

Last edited by Naakaloh : 06-10-2006 at 12:21 AM.
Naakaloh is offline   Reply With Quote
Old 06-12-2006, 06:21 AM   #8
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

First post updated

Realized that I didn't need to create the trigger to stop the spell if channelling was cancelled each time the spell was cast. Should have fixed a leak.
__________________
"The geeks will play their game."
- Kowalski
Naakaloh is offline   Reply With Quote
Old 06-12-2006, 10:22 AM   #9
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 currently use two generic globals (for passing values to filter functions). While this is technically allowed (as they are generic), it makes importing much easier if you use BJ defined globals temporarily (for example, you could use bj_groupRandomConsidered for your integer and bj_groupRandomCurrentPick for your unit, as they are only use temporarily by their respective BJ functions).

I will look through the spell again some time later today.

Edit: In general, it looks much better.

Collapse JASS:
(( CountUnitsInGroup(GetHandleGroup( t, "Boil_Missiles")) > 0)))

You get the group again, even though it is stored in a variable.

Collapse JASS:
    set inX = GetRandomReal( Boil_SplashMinVelocity(), Boil_SplashMaxVelocity() )

You change the value of inX here, but then use it later as if it were still the X value of the unit. I don't think that is intentional.


You never destroy (stop) any of your terrain deformations.

Many of your spell functions are in the custom script section instead of in the trigger (most notably, Period). Very generic things like handle variables should preferably not be in the trigger, but other fairly trigger specific functions should be inside. Please also remove things you never use (like the modified TimedLightning function). Those aren't needed and would be useless if the spell user were to copy them as well.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-12-2006, 04:39 PM   #10
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

First post updated

Thanks again, you seem to have an incredible eye for catching these things. (Or maybe you've been doing it too long :P...)

Fixed up the things you mentioned, but I was wondering if it has been confirmed that it is necessary to stop terraindeformations if they are temporary.

Edit: Added some stuff I had forgotten.
__________________
"The geeks will play their game."
- Kowalski

Last edited by Naakaloh : 06-12-2006 at 04:58 PM.
Naakaloh is offline   Reply With Quote
Old 06-12-2006, 06:11 PM   #11
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

Heh, it takes time more than anything else :P.

http://www.wc3jass.com/viewtopic.php?t=2590

That is a pretty inconclusive thread with tests about terrain deformations having to be stopped, but as far as I know, they do need to be (or they will leak). They are handles anyway (extend handle class), and I think just about all dynamically created handles leak if not removed.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-15-2006, 05:36 PM   #12
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

Fixed a mistake that was preventing splashes from bouncing.
__________________
"The geeks will play their game."
- Kowalski
Naakaloh is offline   Reply With Quote
Old 06-16-2006, 04:50 PM   #13
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

This is being approved, but please do stop the terrain deformations to be sure that it does not leak.
__________________
blu_da_noob is offline   Reply With Quote
Old 06-16-2006, 05:16 PM   #14
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

Oh, I had already done that when you mentioned it, I think I may have misled you by asking if it was necessary.
__________________
"The geeks will play their game."
- Kowalski
Naakaloh is offline   Reply With Quote
Old 06-16-2006, 06:07 PM   #15
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 did kinda, but I should've checked really :P
__________________
blu_da_noob 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 07:34 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