• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Zephyr Challenge #7 - Nature

Status
Not open for further replies.
Level 7
Joined
Dec 30, 2008
Messages
72
Well, I've pretty much finished...

Here's my spell submission for the Zephyr Challenge #7

My first one ^_^

Nature's Embrace

Causes vines to rise up from the ground, releasing pollen and gases
that cause damage to ground enemies over time. The vines damage
structures as well, but heal allies and ancients. Mechanical ground
units permanently lose speed.

Level 1 - 50 damage over 5 seconds, very slow rate.
Level 2 - 100 damage over 10 seconds, slow rate.
Level 3 - 150 damage over 15 seconds, quick rate.

Model - Invasion Vine by Callahan
Icon - RootHand by Palaslayer

More text in the actual map. ^_^
I assume this is how we're going to submit them?
 

Attachments

  • Nature's Embrace.w3x
    75.5 KB · Views: 64
Level 9
Joined
Dec 6, 2007
Messages
233
Okay everyone, I'm down to the last bug.

  • Target Choosing
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Choose Target!
    • Actions
      • Unit - Order (Triggering unit) to Stop
      • Unit - Remove Choose Target! from (Triggering unit)
      • Set Temp_Loc = (Target point of ability being cast)
      • Set Temp_Group = (Units owned by (Owner of (Triggering unit)) matching ((Unit-type of (Matching unit)) Equal to Troubled Treant))
      • Unit Group - Pick every unit in Temp_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load Caster of (Key (Picked unit)) in Troubled_Treant_Hash) Equal to (Triggering unit)
            • Then - Actions
              • Hashtable - Save Handle OfTemp_Loc as Landing_Loc of (Key (Picked unit)) in Troubled_Treant_Hash
              • Hashtable - Save True as Has_Target of (Key (Picked unit)) in Troubled_Treant_Hash
            • Else - Actions
      • Custom script: call RemoveLocation(udg_Temp_Loc)
      • Custom script: call DestroyGroup(udg_Temp_Group)
Temp_Loc doesn't save correctly in this trigger, it defaults to center of playable map area every time. I don't know why. Does anyone else know?
 
Level 11
Joined
Feb 14, 2009
Messages
884
Is your unit paused? I had the same problem with a location once, and it occured because I cleared the leak in the middle of the trigger.
 
Level 9
Joined
Dec 6, 2007
Messages
233
Nope, not paused. The unit is hidden, a ward, and invulnerable. I believe the issue is when it sets Temp_Loc because at one point i placed a debugger in the trigger that created a thunderclap at Temp_Loc right after it set it, and the thunderclap wasn't in the right place. Temp_Loc is screwed up.

Btw as soon as this is fixed i'll post my finished product, it's literally the last thing i have to do.
 
Level 7
Joined
Dec 19, 2009
Messages
249
Okay everyone, I'm down to the last bug.

  • Target Choosing
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Choose Target!
    • Actions
      • Unit - Order (Triggering unit) to Stop
      • Unit - Remove Choose Target! from (Triggering unit)
      • Set Temp_Loc = (Target point of ability being cast)
      • Set Temp_Group = (Units owned by (Owner of (Triggering unit)) matching ((Unit-type of (Matching unit)) Equal to Troubled Treant))
      • Unit Group - Pick every unit in Temp_Group and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load Caster of (Key (Picked unit)) in Troubled_Treant_Hash) Equal to (Triggering unit)
            • Then - Actions
              • Hashtable - Save Handle OfTemp_Loc as Landing_Loc of (Key (Picked unit)) in Troubled_Treant_Hash
              • Hashtable - Save True as Has_Target of (Key (Picked unit)) in Troubled_Treant_Hash
            • Else - Actions
      • Custom script: call RemoveLocation(udg_Temp_Loc)
      • Custom script: call DestroyGroup(udg_Temp_Group)
Temp_Loc doesn't save correctly in this trigger, it defaults to center of playable map area every time. I don't know why. Does anyone else know?


Obviously , you save the location then you destroy it ^^
 
Level 9
Joined
Dec 6, 2007
Messages
233
I destroy it after i save its handel as Landing_Loc of Key(Picked Unit). I also placed the debugger before the destruction. But just to check, i'll disable that line and try it. 1 sec

EDIT: what the... it worked... kinda... 1 of the treants get their location saved properly, the rest of them still screw up, and that trigger leaks. How odd
 
Level 11
Joined
Feb 14, 2009
Messages
884
Destroying the location bugged for me, maybe it's the same for you. Try destroying the location variable when everything's done.
 
Level 9
Joined
Dec 6, 2007
Messages
233
Last edited:
Level 11
Joined
Feb 14, 2009
Messages
884
The issue is that it only fixes one of the treants.... Here, i'll post my 99% completed WIP... 1 sec

Here you are, see if you can figure it out
View attachment 84622

And give me a review too, please :D

EDIT:THE PROBLEM HAS BEEN FIXED!

Here is the final spell, but not my final submission (i'ma make the map nicer). Please leave me comments!

View attachment 84631

I have to admit that I lol'd :xxd:
Innovative, that's for sure. I'm a little worried about the description, it's not "formal" enough in my opinion. I also had to cast the spell a few time to understand how I launch and target.

Oh, and ADD MOAR BOOKZ!! :grin:
 
Level 9
Joined
Dec 6, 2007
Messages
233
My Final Submission Has Arrived!!!!

Thanks for the review Kercyn, i've reformatted the tooltip (tell me if you like it), and yea, i've added moar bookz.

Force Of Nature Gone Awry

Converts a small area of trees into Treants. The caster has ADD, however, and loses focus halfway through casting the spell. This causes unrestrained magic to fling the newly made treants up into the air. The hero can then choose a target (using a spell given after launch) for the high-flying treants to land around. If a target is not chosen, they land around the hero. The hero has 5 seconds before the treants land. When they reach the ground, each treant deals 65 damage and depletes 25 mana in a 250 AoE. Each level increases the number of treants spawned.

View attachment Zephyr Challenge Submission- Spencenator.w3x

Deadline's not up yet, so any further comments would be greatly appreciated.
 
Level 11
Joined
Feb 14, 2009
Messages
884
My Final Submission Has Arrived!!!!

Thanks for the review Kercyn, i've reformatted the tooltip (tell me if you like it), and yea, i've added moar bookz.

Force Of Nature Gone Awry

Converts a small area of trees into Treants. The caster has ADD, however, and loses focus halfway through casting the spell. This causes unrestrained magic to fling the newly made treants up into the air. The hero can then choose a target (using a spell given after launch) for the high-flying treants to land around. If a target is not chosen, they land around the hero. The hero has 5 seconds before the treants land. When they reach the ground, each treant deals 65 damage and depletes 25 mana in a 250 AoE. Each level increases the number of treants spawned.

View attachment 84641

Deadline's not up yet, so any further comments would be greatly appreciated.

That's better, good luck :)
 
Level 3
Joined
Feb 1, 2010
Messages
41
Spencenator
Aside from the things I told you about (the exclamation mark and icons), you have a bug.
The targeting spell is being given twice for the unit (for some strange reason) in the first seconds after spell cast, if the target is chosen within the 2nd second after spell cast the ability appears again and another target can be chosen leaving the first exclamation mark on the ground forever!
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
So the judges are allowed to give feedback? Hmm

Well let's say someone posts a WIP that isn't an acceptable submission; I would rather let them know of this kind of problem before it actually prevents their submission from being accepted in the contest. If you look at my previous feedback it is very vague, though obviously I want everybody to have as good a submission as they can; my feedback will probably be about as useful (or less) than user-to-user feedback.
 
Level 9
Joined
Dec 6, 2007
Messages
233
Spencenator
Aside from the things I told you about (the exclamation mark and icons), you have a bug.
The targeting spell is being given twice for the unit (for some strange reason) in the first seconds after spell cast, if the target is chosen within the 2nd second after spell cast the ability appears again and another target can be chosen leaving the first exclamation mark on the ground forever!

I have never gotten that result, and couldn't even produce it by following your description. But i don't think that it's possible, because here is the code.

  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Level of Choose Target! for (Load Caster of (Key (Picked unit)) in Troubled_Treant_Hash)) Not equal to 1
    • Then - Actions
      • Unit - Add Choose Target! to (Load Caster of (Key (Picked unit)) in Troubled_Treant_Hash)
    • Else - Actions
This is the only place where the ability is given. As you can see, if he already has the ability, it will not give him another one. It is not a code fault; perhaps your war3 bugged?

NOTE: choose target only has 1 level.
 
Level 9
Joined
Dec 6, 2007
Messages
233
@kilingo

I think the poison needs to deal more damage, it doesn't currently do a whole lot

It was difficult to tell what stasis they got and who got it, perhaps have individual sfx above effected creeps?

It's still very difficult to hit anything with, although i'm not sure how you would fix that.

Otherwise it's good, good luck!
 
Level 7
Joined
Dec 19, 2009
Messages
249
@kilingo

I think the poison needs to deal more damage, it doesn't currently do a whole lot

It was difficult to tell what stasis they got and who got it, perhaps have individual sfx above effected creeps?

It's still very difficult to hit anything with, although i'm not sure how you would fix that.

Otherwise it's good, good luck!


Tried to make them follow the enemy , but didn't worked . Altough , I made the spell to do 0 damage and just buff because everyone will do aoe damage spell , so i wanted something a bit different.
 
Level 7
Joined
Dec 30, 2008
Messages
72
Yeah, flavour is very important, but too much flavour hinders the spell's ability to be understood. I did like it though. although the heal that healed the enemies seemed a tad strong, compare it to the paladin's Holy Light which heals a single target for 200.

Edit: my bad, other way around.. damage is half... it's fine then ^_^
 
Level 3
Joined
Feb 1, 2010
Messages
41
Here you go spencenator:
View attachment BUG.w3g
It is possible that it is just my wc3 (I am using this version 1.24.1.6374).
I think that it has something to do with the bug I mentioned in my spell earlier (the spell ability level doesn’t seem to return an accurate value the first time any ability is cast and maybe you should find your way around using it) so if your “going through the stages” trigger runs every 0.1 second and the ability level returns (0) until the ability is used again (first time the ability is used it always give 0 for ability level) then 0.1 Second later the ability is given to the unit again but when it is used this time ability level returns the right value and the ability is removed properly after use. For some reason, the bug seem to get broken somewhere in your code, the ability level gives correct value after some time.

Klingo, Your spell is simple and very nice but you may want to make your hero into a melee one since that will make it easier to hit the target with your spell. you may also consider adding some melee enemies with the ranged trolls.
You may also consider decreasing the distance limit for the fruits since they sometimes go too far (and since it is random, unlucky people like myself get all the fruits flung too far and not hit any target).

And for the sake of the unlucky people, could you decrease the healing effect (I got killed by trolls because they kept getting healed!).

Other than that, you have a BUG. When the hero dies, the fruits keep coming out of the ground where the hero died!
 
Last edited:
@ -Kobas- serious!... DAMNIT
Well here it is: Click

I also created spell that will block are around hero, creating rocks, slowing, stunning and dealing damage! So we have somehow same spell :D

I edited mine even more, now roots (instead of rocks) are created and they will root any enemy units in area for some time and slowing it after!
 
Level 6
Joined
Jun 14, 2009
Messages
124
[RainBow]Final Submission[/RainBow]


173911-albums3479-picture32594.png



173911-albums3479-picture32595.png




  • Nature Enchantment Cast
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Nature Enchantment
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • NE_Index[1] Equal to 0
        • Then - Actions
          • Trigger - Turn on Nature Enchantment Loop <gen>
        • Else - Actions
      • -------- ------------------------------------------------------------ --------
      • Set NE_Index[2] = (NE_Index[2] + 1)
      • -------- ------------------------------------------------------------ --------
      • Set NE_Caster[NE_Index[2]] = (Triggering unit)
      • Set NE_CasterLoc[NE_Index[2]] = (Position of (Triggering unit))
      • -------- ------------------------------------------------------------ --------
      • Set NE_MaxDistance[NE_Index[2]] = (400.00 + (50.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
      • Set NE_LifeTime[NE_Index[2]] = (20.00 + (10.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
      • Set NE_Chance[NE_Index[2]] = (5.00 + (2.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
      • Set NE_ProjectileAoE[NE_Index[2]] = 100.00
      • Set NE_ChangeAngle[NE_Index[2]] = 8.00
      • Set NE_Damage[NE_Index[2]] = 3.00
      • Set NE_Speed[NE_Index[2]] = 20.00
      • -------- ------------------------------------------------------------ --------
      • Set NE_CurrentDistance[NE_Index[2]] = 150.00
      • Set NE_Finish[NE_Index[2]] = False
      • Set NE_Angle[NE_Index[2]] = 0.00
      • -------- ------------------------------------------------------------ --------
      • Set NE_MaxTree[NE_Index[2]] = (6 + (4 + (Level of (Ability being cast) for (Triggering unit))))
      • Set NE_Bounce[NE_Index[2]] = (3 + (2 x (Level of (Ability being cast) for (Triggering unit))))
      • Set NE_ProjectileNumber[NE_Index[2]] = 5
      • -------- ------------------------------------------------------------ --------
      • Set NE_Effect[1] = Objects\Spawnmodels\NightElf\NECancelDeath\NECancelDeath.mdl
      • Set NE_Effect[2] = Abilities\Spells\Undead\Sleep\SleepSpecialArt.mdl
      • For each (Integer NE_Index[4]) from 1 to NE_ProjectileNumber[NE_Index[2]], do (Actions)
        • Loop - Actions
          • Set NE_NextLoc[NE_Index[2]] = (NE_CasterLoc[NE_Index[2]] offset by NE_CurrentDistance[NE_Index[2]] towards ((360.00 / (Real(NE_ProjectileNumber[NE_Index[2]]))) x (Real(NE_Index[4]))) degrees)
          • Unit - Create 1 Nature Enchantment Dummy for (Owner of (Triggering unit)) at NE_NextLoc[NE_Index[2]] facing Default building facing degrees
          • Unit - Turn collision for (Last created unit) Off
          • Set NE_Dummy[((NE_Index[2] x NE_ProjectileNumber[NE_Index[2]]) + NE_Index[4])] = (Last created unit)
          • Custom script: call RemoveLocation( udg_NE_NextLoc[ udg_NE_Index[ 2 ] ] )
      • Custom script: call RemoveLocation( udg_NE_CasterLoc[ udg_NE_Index[ 2 ] ] )


  • Nature Enchantment Loop
    • Events
      • Time - Every 0.03 seconds of game time
    • Conditions
    • Actions
      • Set NE_Index[1] = 0
      • For each (Integer NE_Index[3]) from 1 to NE_Index[2], do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • NE_Bounce[NE_Index[3]] Greater than 0
            • Then - Actions
              • Set NE_Index[1] = (NE_Index[1] + 1)
              • Set NE_CasterLoc[NE_Index[3]] = (Position of NE_Caster[NE_Index[3]])
              • Set NE_Angle[NE_Index[3]] = (NE_Angle[NE_Index[3]] + NE_ChangeAngle[NE_Index[3]])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • NE_Booleen[NE_Index[3]] Equal to False
                • Then - Actions
                  • Set NE_CurrentDistance[NE_Index[3]] = (NE_CurrentDistance[NE_Index[3]] + NE_Speed[NE_Index[3]])
                • Else - Actions
                  • Set NE_CurrentDistance[NE_Index[3]] = (NE_CurrentDistance[NE_Index[3]] - NE_Speed[NE_Index[3]])
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • NE_CurrentDistance[NE_Index[3]] Less than or equal to 0.00
                • Then - Actions
                  • Set NE_Booleen[NE_Index[3]] = False
                  • Unit Group - Remove all units from NE_NonDamageGroup[NE_Index[3]]
                  • Set NE_Bounce[NE_Index[3]] = (NE_Bounce[NE_Index[3]] - 1)
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • NE_CurrentDistance[NE_Index[3]] Greater than or equal to NE_MaxDistance[NE_Index[3]]
                • Then - Actions
                  • Set NE_Booleen[NE_Index[3]] = True
                • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • NE_Bounce[NE_Index[3]] Greater than 0
                • Then - Actions
                  • For each (Integer NE_Index[4]) from 1 to NE_ProjectileNumber[NE_Index[3]], do (Actions)
                    • Loop - Actions
                      • Set NE_NextLoc[NE_Index[3]] = (NE_CasterLoc[NE_Index[3]] offset by NE_CurrentDistance[NE_Index[3]] towards ((((360.00 / (Real(NE_ProjectileNumber[NE_Index[3]]))) x (Real(NE_Index[4]))) + NE_Angle[NE_Index[3]]) + 1.00) degrees)
                      • Set NE_TempGroup = (Units within NE_ProjectileAoE[NE_Index[3]] of NE_NextLoc[NE_Index[3]] matching (((Matching unit) belongs to an enemy of (Owner of NE_Caster[NE_Index[3]])) Equal to True))
                      • Unit - Move NE_Dummy[((NE_Index[3] x NE_ProjectileNumber[NE_Index[3]]) + NE_Index[4])] instantly to NE_NextLoc[NE_Index[3]]
                      • Unit Group - Pick every unit in NE_TempGroup and do (Actions)
                        • Loop - Actions
                          • Unit - Cause NE_Caster[NE_Index[3]] to damage (Picked unit), dealing NE_Damage[NE_Index[3]] damage of attack type Spells and damage type Plant
                          • Unit Group - Add (Picked unit) to NE_NonDamageGroup[NE_Index[3]]
                      • Destructible - Pick every destructible within NE_ProjectileAoE[NE_Index[3]] of NE_NextLoc[NE_Index[3]] and do (Actions)
                        • Loop - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres d'été
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres d'Ashenvale
                                  • (Destructible-type of (Picked destructible)) Equal to Canopée d'Ashenvale
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres de Barrens
                                  • (Destructible-type of (Picked destructible)) Equal to Canopée de Barrens
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres de ville d'été
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres de Felwood
                                  • (Destructible-type of (Picked destructible)) Equal to Canopée de Felwood
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres d'été
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres en ruines
                                  • (Destructible-type of (Picked destructible)) Equal to Cime d'arbre des ruines
                                  • (Destructible-type of (Picked destructible)) Equal to Mur d'arbres du village
                            • Then - Actions
                              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                • If - Conditions
                                  • NE_MaxTree[NE_Index[3]] Greater than 0
                                • Then - Actions
                                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    • If - Conditions
                                      • ((Picked destructible) is alive) Equal to True
                                    • Then - Actions
                                      • Set NE_TreeLoc[NE_Index[3]] = (Position of (Picked destructible))
                                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                        • If - Conditions
                                          • (Random percentage) Less than or equal to NE_Chance[NE_Index[3]]
                                        • Then - Actions
                                          • Destructible - Kill (Picked destructible)
                                          • Set NE_MaxTree[NE_Index[3]] = (NE_MaxTree[NE_Index[3]] - 1)
                                          • Unit - Create 1 Treant for (Owner of NE_Caster[NE_Index[3]]) at NE_TreeLoc[NE_Index[3]] facing NE_CasterLoc[NE_Index[3]]
                                          • Unit - Add a NE_LifeTime[NE_Index[3]] second Generic expiration timer to (Last created unit)
                                          • Unit - Turn collision for (Last created unit) Off
                                          • Special Effect - Create a special effect at NE_NextLoc[NE_Index[3]] using NE_Effect[1]
                                          • Special Effect - Destroy (Last created special effect)
                                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            • If - Conditions
                                              • NE_MaxTree[NE_Index[3]] Equal to 0
                                            • Then - Actions
                                              • Set NE_Bounce[NE_Index[3]] = 0
                                            • Else - Actions
                                        • Else - Actions
                                      • Special Effect - Create a special effect at NE_TreeLoc[NE_Index[3]] using NE_Effect[2]
                                      • Special Effect - Destroy (Last created special effect)
                                      • Custom script: call RemoveLocation( udg_NE_TreeLoc[ udg_NE_Index[ 3 ] ] )
                                    • Else - Actions
                                • Else - Actions
                            • Else - Actions
                      • Custom script: call DestroyGroup( udg_NE_TempGroup )
                      • Custom script: call RemoveLocation( udg_NE_NextLoc[ udg_NE_Index[ 3 ] ] )
                • Else - Actions
              • Custom script: call RemoveLocation( udg_NE_CasterLoc[ udg_NE_Index[ 3 ] ] )
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • NE_Finish[NE_Index[3]] Equal to False
                • Then - Actions
                  • Set NE_Finish[NE_Index[3]] = True
                  • For each (Integer NE_Index[4]) from 1 to NE_ProjectileNumber[NE_Index[3]], do (Actions)
                    • Loop - Actions
                      • Unit - Kill NE_Dummy[((NE_Index[3] x NE_ProjectileNumber[NE_Index[3]]) + NE_Index[4])]
                • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • NE_Index[1] Equal to 0
        • Then - Actions
          • Trigger - Turn off (This trigger)
          • Set NE_Index[2] = 0
        • Else - Actions




- Initial Release


- Add Expiration Timer


- Remove The NE_TreeAoE For Put It In The NE_ProjectileAoE
- Change The ToolTips


- Fixed Bounce Bug
- Fixed MUI Condition


- Change The Effect
- Reduce The Amount of Effect
- Add Dummy
- Add Max Tree
- Change The Life Time


- Add Tree Respawn



- Gaby-Boy [me!] For The Spell
- General Frank For Is orb

 

Attachments

  • Zephyr Challenge #7 - Nature Enchantment V.1.0.0.a.w3x
    96.1 KB · Views: 45
  • Zephyr Challenge #7 - Nature Enchantment V.1.0.0.b.w3x
    89.2 KB · Views: 62
  • Zephyr Challenge #7 - Nature Enchantment V.1.0.0.c.w3x
    89.2 KB · Views: 57
  • Zephyr Challenge #7 - Nature Enchantment V.1.0.0.d.w3x
    102.3 KB · Views: 68
  • Zephyr Challenge #7 - Nature Enchantment V.1.0.0.e.w3x
    102.2 KB · Views: 54
  • Zephyr Challenge #7 - Nature Enchantment V.1.0.0.f.w3x
    102.5 KB · Views: 64
Last edited:
Level 9
Joined
Dec 6, 2007
Messages
233
@gaby-boy

First of all, that tooltip. Spelling and grammatical errors need to be fixed. I do like the colors though, very well themed. I don't know what "bounce" means, and the tooltip overall seems very vague

The spell looks great, nothing wrong with visuals.

It seemed like you were trying to do an AoE damage spell with a small chance for some AoE force of nature, but in practice it's flipped: AoE Force of nature with some small AoE damage. It was very easy to make a large army of treants, especially since the treants had no expiration timer, while the AoE Damage had a barely noticable effect.

Don't forget that the spell's overall balance is scored too. You'll need to work out an appropriate mana cost and cooldown.
 
Status
Not open for further replies.
Top