• 💀 Happy Halloween! 💀 It's time to vote for the best terrain! Check out the entries to Hive's HD Terrain Contest #2 - Vampire Folklore.❗️Poll closes on November 14, 2023. 🔗Click here to cast your vote!
  • 🏆 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!
  • 🏆 HD Level Design Contest #1 is OPEN! Contestants must create a maze with at least one entry point, and at least one exit point. The map should be made in HD mode, and should not be openable in SD. Only custom models from Hive's HD model and texture sections are allowed. The only exceptions are DNC models and omnilights. This is mainly a visual and design oriented contest, not technical. The UI and video walkthrough rules are there to give everyone an equal shot at victory by standardizing how viewers see the terrain. 🔗Click here to enter!

Simple Spell Request

Not open for further replies.
Level 6
Apr 18, 2009
1)Spell Name: Absorb Energy

2) Spell Tooltip: The Arcane Guardian absorbs all negative energy from the units surrounding it and converts it into mana.

3)Spell Description: when caster casts spell, all negative buffs in a 400 range surrounding him are dispelled. The caster gains 25 mana for each buff dispelled.

4)Extra stuff: i would prefer it in GUI so i can further edit it for balancing purposes. A small but noticeable sfx would be welcome. The spell should only have 1 level: its a unit spell.

Thank you.
  • Set AE_Group[AE_Index2] = (Units within 400.00 of (Position of AE_Caster[AE_Index2]) matching ((((Matching unit) belongs to an enemy of (Owner of AE_Caster[AE_Index2])) Equal to True) and ((Mana of (Matching unit)) Greater than or equal to 1.00)))
  • Set AE_CasterPoint[AE_Index2] = (Position of AE_Caster[AE_Index2])
Why do you set the position of the caster in a variable after the unit group? Set it before and use that variable to define the units within 400 range location.
You don't need to index the location,
  • Set AE_CasterPoint = (Position of (Triggering unit))
is fine. You are removing it in the same trigger anyway, meaning you are not using it afterwards, so I don't see why it should be indexed.

You don't have to use two pseudo Timer1 and Timer2 variables. Just use one with a value of e.g. 10 and then every second in the loop, set it to -1 and check if the Timer1 variable is greater than 0. If it is, do the actions, else reset index, etc.
Not open for further replies.