• 🏆 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!

Element Spells GUI v1.2

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
These are some elemental spells I made,

When finished it will contain the following elements:
- Fire
- Sand
- Darkness
- Cosmic
- Water
- Ice
- Poison
- Light
- Wind
- Nature
- Blood

I will NOT make further spells unless people encourage me.

Each element has 4 spells, the last one is considered ultimate. They have at least 1 passive spell so no need to worry about passive abilities.

Credits:
- JetFangInferno - Sand Aura
- Pyritie - Infra-Radiation effect/Infra-Radiation aura
- Juice_F - Sand Aura Icon
- vile - Shooting Star model

Plz give credits if u use in ur map
v1.2:
-Added Darkness Elemental w/ Dark Ripple ability
-Cleaned up a few stuff
v1.1:
- Added Starfall to Cosmic Element, fixed up leaks
v1.0b:
- Fixed up leaks and added "Corrosive Skin"

Keywords:
Elemental, fire, ice, water, poison, sand, blood, spellpack, spell pack
Contents

Elemental Spellpack (Map)

Reviews
01:01, 3rd Jan 2010 TriggerHappy: Most of the spells aren't even MPI and some leak quite a bit.

Moderator

M

Moderator

01:01, 3rd Jan 2010
TriggerHappy:

Most of the spells aren't even MPI and some leak quite a bit.
 
Level 37
Joined
Mar 6, 2006
Messages
9,240
Go and find a thread called "things that leak". Just about every spell you've got in there leaks, some of them create horrible amounts of leaks. Mostly locations, some unit groups too.

Learn to make those spells MUI, either with an indexing system or with hashtables. Using waits and turn on/off triggers the way you do is a bad idea.

Once you get the hang of making your spells leakless and MUI, then have a look at making more of them. Until then concetrate on fixing your existing spells so that they meet the submission requirements.

Performance
Submissions must be bugless, leakless, lagless on a computer that runs Warcraft III smoothly, and fully multiinstanceable. Spells using non-recycling "indexing systems" will not be accepted.
 
Level 2
Joined
Oct 5, 2009
Messages
30
very nice spells, loved the scorpion the best and the big poison aoe , didnt really like the firespells though . Great job with scorpion, i wanna use him in my map badly.. will give credits, when will this be approved?
 
Level 8
Joined
Jun 18, 2007
Messages
214
Well spells are visually good. Period.
You leak a lot, take the suggestion from the Maker are read some tutorials. Some of these spells are bit overused, but they are pretty non the less.
I've experienced quite a few bugs, for instance in Magma Eruption the spawned lava was owned by the enemy and it attacked me. You're filters for picking enemy units are also bad. Barely anything is MUI, and you don't have a creep respawn system, even if you're spells are quite powerful. Your poison nova; and Sand Form for that matter, need some kind of filter so they don't go outside of map bounds.
Also I have a question: Why did you in some spells (triggers) removed the locations, so they don't leak, while in the others you left them.
  • Custom script: set udg_SandFormLoc[1] = null
this is unnecessary you don't have to null globals, since they can't really leak.


Please don't get me wrong, my intention is not to insult you in any way, if anything I'm encouraging you to continue your work, but you should really read some tutorials about leaks in the spells, and how to achieve MUI in it.
Good luck!
 
Level 5
Joined
Oct 9, 2008
Messages
112
Hi,

Spells looks really nice :)thumbs_up:)
Code efficiency :)wink:)
Much bugs :)thumbs_down:) (e.G. Sand Element can port out of the map with his ultimate and rush skill)
Some Skills are not MUI :)thumbs_down:)

so 2/5

Happy Mapping!
 
Level 2
Joined
Aug 21, 2009
Messages
3
Good work

all the spells are OK.
I like the Sand Spells mainly quick sand.

I hope you make more spells. :grin:

BTW is the volcano suppose to stay permanenty? cause the volcanos tend to stay there permenantly if it isnt could you pls fix it.
-------------------------------------------------------------------------
-Description/instructions/readme [ :thumbs_up: ]
-Creativity [ :con: ]
-Spells Efficiency [ :con: ] (Volcano tends to stay instead of disapearing)
I give 3/5

------------------------------------------------------------------------
 
Level 10
Joined
May 19, 2008
Messages
176
Its unbelievable buggy... First the spell of the Scorpien deals only damage if the unit are awaken. Then you see by both, ultimate and the rush the dummy abilities. Many spells are only effect spamming to lag hell. And that star thingy is very bad... Then the units are pushed through cliffs and after they can walk throug everything. And the scorpion slide could crash the map, when the unit leaves the map...

But last but not least its a good beginning, but you should look more for efficients and the bugfreeness then the quantity.

May I'm a bit hard, but I read in this thread so many teams how good they are ... But they have some bugs witch can destroy the map ...

P.S. I didn't rate your spells, because should you fix these bugs my rating will be much better.

cedi
 
Level 22
Joined
Nov 14, 2008
Messages
3,256
Mega Review ... I haven't tested them in-game so I will only judge on what I see and the code.

-Review v3.0-


Alright the first spell called

Flame Trap

-Not MUI

change that to triggering unit to increase performance
-
  • Set FlameTrapUnit[1] = (Casting unit)
-36 leaks each cast, point offset leaks, also use your own variable as the integer might interfear the bug of A & B, make a custom one and use it
  • For each (Integer A) from 1 to 36, do (Actions)
    • Loop - Actions
      • Unit - Create 1 Dummy for (Owner of FlameTrapUnit[1]) at (FlameTrapLoc[2] offset by 256.00 towards ((Facing of FlameTrapUnit[2]) + (10.00 x (Real((Integer A))))) degrees) facing Default building facing degrees
-This line makes it non MUI, make some kind of loop to fix that
  • Wait (6.00 + (Real(LevelVar[1]))) seconds
That's all for that spell, next comming up

Ignite

-Not MUI

-change to triggering unit
  • Set IgniteUnit[1] = (Casting unit)
-sp leak as you dont destroy it immidatly
  • Special Effect - Create a special effect attached to the origin of IgniteUnit[2] using Abilities\Spells\Other\Doom\DoomTarget.mdl
-uses waits such as this one, both prevents MUI
  • Wait (5.10 + (Real(LevelVar[2]))) seconds
and this one
  • Wait 5.00 seconds
-playing with units movement speed is not very good ...
  • Unit - Set IgniteUnit[2] movement speed to ((Current movement speed of IgniteUnit[2]) - (1.00 x (Real(LevelVar[2]))))
now that spell is finished, next one comming up

Infraradition

-Not MUI

-I guess it should only be turned on every 2 seconds when it happens? Use a Loop to fix the timer cause as it is now it's only working for one unit

-You set the unit into a variable but dont use it...
  • Unit - Create 1 Infra for (Owner of (Attacking unit)) at InfraLoc[2] facing Default building facing degrees
-wait again prevents MUI
  • Wait 2.00 seconds
next one comming up

Magma Eruption

-Not MUI

-Put as triggering unit
  • Set MagmaUnit[1] = (Casting unit)
-
  • Wait 5.00 seconds
you know what it does

-10 leaks each cast, polar offset leaks, it also contains a wait which will bug all other Integer A loops running when this spell is running
  • For each (Integer A) from 1 to 10, do (Actions)
    • Loop - Actions
      • Unit - Order MagmaUnit[4] to Attack Ground (MagmaLoc[1] offset by 256.00 towards ((Facing of MagmaUnit[4]) + (Random real number between 0.00 and 360.00)) degrees)
      • Wait 0.50 seconds
-another wait
  • Wait 20.00 seconds
-
  • Wait 5.00 seconds
-I would add an exp timer instead of removing them
  • Unit Group - Pick every unit in MagmaGroup and do (Actions)
    • Loop - Actions
      • Unit - Remove (Picked unit) from the game
- the decast trigger also contains a wait

next trigger comming up

Sand Form

-Not MUI

-
  • Wait ((Distance between SandFormLoc[1] and SandFormLoc[2]) / 2500.00) seconds
-change the interval to 0.02 or higher prefer 0.03
  • Time - Every 0.01 seconds of game time
-Massive leakage cause you need to remove this locations inside the trigger instead in the cast trigger as they will overwrite itself like 1000 times

  • Set SandFormLoc[3] = (SandFormLoc[1] offset by 20.00 towards (Angle from SandFormLoc[1] to SandFormLoc[2]) degrees)
Quicksand

-Not MUI

-WTF permanent deform?
  • Environment - Create a 30.00 second Permanent crater deformation at SandStormLoc[2] with radius 500.00 and depth 1000.00
-
  • Wait 10.00 seconds
-again you have this point issue
  • Set SandStormLoc[3] = (SandStormLoc[2] offset by (600.00 - (0.50 x (Real(i[2])))) towards (RealVar[1] + (5.00 x (Real(i[2])))) degrees)
-Massive unit group leakage
  • Unit Group - Pick every unit in (Units within 900.00 of SandStormLoc[2] matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of SandStormUnit[1])) Equal to True)))) and do (Actions)
    • Loop - Actions
      • Set SandStormUnit[3] = (Picked unit)
      • Set SandStormLoc[5] = (Position of SandStormUnit[3])
      • Unit - Turn collision for SandStormUnit[3] Off
      • Set SandStormLoc[4] = (SandStormLoc[5] offset by -2.00 towards (Angle from SandStormLoc[2] to SandStormLoc[5]) degrees)
      • Unit - Move SandStormUnit[3] instantly to SandStormLoc[4], facing SandStormLoc[2]
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Terrain pathing at SandStormLoc[4] of type Walkability is off) Equal to True
        • Then - Actions
          • Trigger - Turn off (This trigger)
        • Else - Actions
      • Set SandStormLoc[5] = SandStormLoc[4]
      • Wait 10.00 seconds
      • Unit - Turn collision for SandStormUnit[3] On
Sand Aura

-Not MUI

-
  • Wait (RealVar[7] / 375.00) seconds
-uses integer A thingy and also you dont need to null global locations just remove them instead, nulling is only used for local locations
  • For each (Integer A) from 1 to 3, do (Actions)
    • Loop - Actions
      • Custom script: call RemoveLocation(udg_LocVar[bj_forLoopAIndex])
      • Custom script: set udg_LocVar[bj_forLoopAIndex] = null
Poison

poison nova

-
  • Set UnitVar[10] = (Casting unit)
-no need to pause the unit, it is an instant spell for goodness sake? or maybe you are just preventing the cooldown bug, i dont know, if you do, you dont need to remove it
  • Unit - Pause UnitVar[10]
-skip integer A make a custom one

-group leak
  • Unit Group - Pick every unit in (Units within 1000.00 of LocVar[10] matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of UnitVar[10])) Equal to True))) and do (Actions)
Corrosive Skin

-NOT MUI FOR BLOODY SAKE WHY YOU NEED THIS LINE THAT RUINS IT ALL?!
  • Wait 1.00 seconds
Cosmic

Starfall

-Not MUI

-WOOOH GOOD POINT +
  • Set Starfall_Unit[1] = (Triggering unit)
-sp leak, you cant wait between the creation and removal, even if you remove it instantly after it will perform as it should
  • Special Effect - Create a special effect at Starfall_Loc[2] using war3mapImported\ShootingStar.mdx
  • Set Starfall_Effect = (Last created special effect)
  • Wait 0.75 seconds
  • Special Effect - Destroy Starfall_Effect
-GOOD POINT +
  • Set Starfall_Group = (Units within 400.00 of Starfall_Loc[2] matching ((((Matching unit) is alive) Equal to True) and (((Matching unit) belongs to an enemy of (Owner of Starfall_Unit[1])) Equal to True)))
-you need to destroy the point inside this loop else it will just overwrite itself
  • Unit Group - Pick every unit in Starfall_Group and do (Actions)
    • Loop - Actions
      • Set Starfall_Unit[2] = (Picked unit)
      • Unit - Turn collision for Starfall_Unit[2] Off
      • Set Starfall_Loc[3] = (Position of Starfall_Unit[2])
      • Set Starfall_Loc[4] = (Starfall_Loc[3] offset by -10.00 towards (Angle from Starfall_Loc[3] to Starfall_Loc[2]) degrees)
      • Unit - Move Starfall_Unit[2] instantly to Starfall_Loc[4], facing Starfall_Loc[2]
      • Special Effect - Create a special effect at Starfall_Loc[3] using war3mapImported\Sand.mdx
      • Special Effect - Destroy (Last created special effect)
      • Set Starfall_Loc[3] = Starfall_Loc[4]
      • Wait 1.50 seconds
      • Unit - Turn collision for Starfall_Unit[2] On
Darkness

Dark Ripple

-I see no point converting this into JASS as I only see normal GUI functions (might be wrong)

You really need to fix the stuff I pointed out, you really have a problem with waits. Learn how to use loops, preferable by an indexing system or hashtables. Look at Hanky's indexing template for more description about MUI indexing. Also you can look at what other players did like mighty spellmakers Paladon, Rmx, Deuturium, Bzk and me (A)


Have a good time reading, my vote would be 1/5 by now and voting for disapproval but if you change these point it just might be a 4/5
 
Top