| 08-18-2006, 03:21 AM | #1 |
a few spells made for a contest Daelin hosted at the helper all the neat imports removed, but still worthy of an uplaod IMO Sword Blast: Lash out, slicing your sword forward, sending nearby enemies in a cone from your facing sailing backwards for a duration, and dealing damage. Elemental Helix: Summons 2 mighty orbs, 1 of fire, and 1 of ice, which are sent careening towards the target in a helix, dealing damage to all they encounter. Blaze: Sends three flaming waves a fire outward, each with a mind of it's own. If a unit enters the path, that wave explodes on the unit, dealing initial damage and damage/sec to enemies in a AOE. Upon contact, the flames split into 2 smaller versions, dealing half damage and going half the distance at half the speed. Sonic Boom: Sends forth a wave at speeds in excess of that of sound, causing enemies in its path to be silenced and lose mana. Enjoy !!! |
| 08-18-2006, 07:21 AM | #2 |
You forgot to attach the actual spell map ;) |
| 08-18-2006, 12:44 PM | #3 |
oopps, lol, guess I will have to do that when I get home...blarg |
| 08-22-2006, 02:16 AM | #4 |
hrmmm..not a single comment...where you at Pipe? |
| 08-22-2006, 03:24 PM | #5 |
Looking through 4 spells-worth of code for bugs/leaks/etc takes quite a long time. I am busy working through it. |
| 08-22-2006, 04:00 PM | #6 |
kk ^^ |
| 08-22-2006, 04:05 PM | #7 |
Please remove random unnecessary stuff from the map (animation index test trigger etc). You also have your whole set of functions which you use in the map header for no apparent reason (one of the spells uses a function from them, but one of the other spells has a separate copy of the same thing instead; please be consistent and only include what is actually needed). Some basic implementation instructions (what to copy, where), while not required, would not go amiss. Note: functions can be constant even if they take a parameter, so please change all the ones that take the ability level as a parameter to constant. General: Some fixing of not nulling timers would be a good idea. You do it very inconsistently. You use SetUnitPosition instead of SetUnitX/Y. Reason? Blaze: It would be nice to have constant functions to set the number of times a missile can split and how many it splits into etc. Starting a separate timer for each individual split 'flame' is unecessary. Making one timer and and attaching a group with all of them would be more efficient. You should store the cos and sin of an angle on the unit/timer and use that instead of storing the angle and using the trig functions each time the timer expires. Your method of making the flames move randomly seems weird. You move them in a set direction (angle never changes) and then just add a random number on to that. Is that intentional? Your movement function should end itself if all the flames are dead, instead of running until the distance is reached. Elemental Helix: Once again you have a constant angle which you use Cos/Sin for multiple times. Store them. Sonic Boom: Has an unused SonBPreload function. Sonic Boom works in a shockwave-like line (constant width), not like Carrion Swarm (increasing width). The effect is a bit misleading. Don't use bj_LastCreatedUnit for storage. Only ever use temporary bj globals (such as those in the GroupPickRandomUnit function etc). Once again you have a constant angle which you use Cos/Sin for multiple times. Store them. Sword Blast: You use an unusual method to find the units in a 'cone' and it isn't very accurate. Why not use a proper quadrilateral check? You create two new timers for each unit being knocked back. Create one and attach a group with all the knocked-back units. You also don't need to have a separate timer for total duration. Attach the duration to each unit and reduce it each time the unit is moved. Remove the unit from the group when duration <= 0. In SwoB_Slide_Child you clear an attached table on destruction, but store a value in that table afterwards. |
| 08-22-2006, 04:19 PM | #8 |
god i suck |
| 08-22-2006, 04:35 PM | #9 |
Because? |
| 08-22-2006, 04:45 PM | #10 |
| 08-22-2006, 07:22 PM | #11 |
You are not required to fix all of those for approval. Many are tips for more efficient general coding, but fixing up some of the easier stuff (such as caching sin/cos values) would definitely help here. I'm also interested in the reason as to why you don't use SetUnitX/Y. |
| 08-22-2006, 07:45 PM | #12 |
is there really a difference, its just easier for me, and 1 less line of code, to use SetUnitPosition, then SetUnitX/Y is there something I am missing here? |
| 08-22-2006, 07:47 PM | #13 |
SetUnitX/Y is faster (it ignores pathing checks etc). Just have to be careful of going outside of the map area (causes a crash). |
| 08-23-2006, 07:30 PM | #14 |
So are you updating this at all? At the very least you should fix the handl-hostage leaks and remove the excess functions. |
| 08-23-2006, 07:54 PM | #15 |
i have not gotten around to it yet, sry, patience young padawon |
