Classroom: Gui Spell Making (Advance)

U are a noob

Mega Super Ultra Cool Member
Reaction score
152
[Classroom] - GUI Spell Making (Advance)

The purpose of this classroom is to be better than elmstfreddie's classroom. LOL JK. The purpose of this classroom is to to help people make better and more original spells.​
Lesson One: Ideas
  • Part 1: Coming up with ideas
  • Part 2: Is it possible?
  • Part 3: Aesthetics
  • Bonus: Dealing with the fact that all ability ideas have been made before
Lesson Two: Starting the spell​

  • Part 1: Hero
  • Part 2: Base Spell
  • Part 3: Starting the trigger
  • Part 4: Figure out the main function
  • Part 5: Dummy Casters
Lesson Three: Using Different kinds of special effects​

  • Part 1: Special Effects
  • Part 2: Unit Special Effects
  • Part 3: Advantages of Unit Special Effects
Lesson Four: Turning your spell MUI and MPI​

  • Part 1: Arrays
  • Part 2: Custom Values
  • Part 3: Uareanoob's MUI System
Rules/Info​

  • Homework will be able to be turned in within 3 days of the lesson to get rep.
  • Homework will be reviewed the day you turn it in and grade posted next day.
  • More Lesson to come.
  • Classes will be on Saturdays&Sundays starting the 22th&23th of April.
  • Lessons will be posted in this first post.
  • Turning in homework first will lead to your spell being used in the next lesson as a example.
Lesson One
Part One: Coming up with ideas
How to come up with ideas.

  • Coming up with ideas are usually difficult for me that can take up to hours at a time. Most of the time when I come up with a idea is when I am waiting or not doing anything. Like if I'm in a car ride or in the shower or even just on the bed chilling.While doing this I usually think of movies that are like Troy or 300. Lets say you liked something in Troy, like the part where the son of Hector shot the arrow at Achilles in the back off his foot (Achilles Tendon) that killed him and also held in that place for a while. So just off of that you probably thought of a spell where you shoot a arrow at some one and if it hits them they get stuck for a second, bleeds, and slows movement speed. Before actually thinking of making this spell ask yourself: is this original? Well I think it is not been done before but not that original because bleeding and stun has already been done. But the way you execute the spell (shooting arrow and hit person) could be original. Now while thinking of this spell come up with a name I would call is Piercing Tendon.
    This is one of the ways you can come up with a spell idea.
Part Two: Is it possible?
Can your spell be made?

  • REMEMBER: This is still all in your head.
    Okay, lets go back to the Piercing Tendon Spell. Now we need to look at if its possible? Well could you make a parabola curve with an arrow? Yes. Could you make a unit Bleed? Yes. Could you make it stun a unit? Yes. Could slow a unit down? Yes.
    So basically all you need to see is whether you could do all the effects of the spell.
Part Three: Aesthetics
How will this spell look?

  • REMEMBER: This is still all in your head.
    Aesthetic is how the spell will look while casting, icons, tool tips, and the theme. But for this we will be focused on how the spell looks while casting. Lets use the Piercing Tendon again. First think how would I make it so it looks original and pleasing to the average player. After that you should make it seem realistic.For this spell I would have it when you start casting the spell it makes a sound that sounds like the being slided and I would only make the spell hit one unit.
Bonus: Dealing with the fact that all ability ideas have been made before
Almost all spells have been done before

  • Don't get discouraged to make a spell just because its been done before. If its been done before than try adding something to your spell that makes it different from the other spell. Also people may not notice its been done before if you execute the spell differently than the other
Homework: Come up with a spell idea for lesson two. Post it in this thread and you will get rep.


Lesson Two
Part One:Hero
The hero casting the spell
  • After you have come up with your idea you will now need a to make the base hero model in the object editor. The type of hero model you want is based on the spell your idea is. You also want the hero Like take for example:
    Spear Storm:
    By swinging a spear inflicts damage and shock nearby 300 AoE enemies.

    If the spell have 3 levels, should be:

    Level 1 - Deals 90 Damage and stuns for 1 second.
    Level 2 - Deals 140 Damage and stuns for 1.5 seconds.
    Level 3 - Deals 200 Damage and stuns for 2 seconds.

    Rules: The caster must have a spear (attachment or other)
    For this spell you would probably want the hero with a spear already. But wc3 does really have any heroes with a stick or spear that would work for this spell. So your going to have improvise. You can use the brigand or the assassin models from the neutral creeps to do this spell because they have some what of a spear attack. The improvise park will be explained in part four.
Part Two: Base Spell
The spell you click

  • Now after you have pick your model to d the spell you now need a base spell. The base spell is the spell you would click in-game or find in objective editor. The base spell is mostly used to control the units projectile art, the animation it will play when you cast the spell, and level stats. For the "spear storm" spell you would probably use a instant cast spell and the base spell would probably only control the levels stats and animations.

Part Three: Starting the trigger
The beginning of the spell trigger
  • Events:
    For a spell you use the event “Unit – A unit Starts the effect of an ability” the reason why you use this instead of “Unit - A unit Begins casting an ability” is because “Unit - A unit Begins casting an ability” happens before the spell takes mana and sets cooldown so you could just lick the spell then press stop and the triggers would still run even when after you press stop.
    Condition:
    For conditions you use “(Ability being cast) Equal to <spellname>”.
    Actions:
    Almost all spells start with a variable that reverences the casting unit. First open the variable window and make a unit type variable and then what normally put the variable name as is "<spellname>Caster". Using "Spear Strom" the variable name would be "SpearStormCaster". The reason why you use a variable instead of "Event Response - Casting Unit" is because a variable is faster. Next another common part of a spell would be the caster’s location or the point of the caster. Do the same as before for the unit variable but this time make it a point and name it “<spellname>CasterLoc” or for spear throw "SpearStormCasterLoc".
Part Four: Figure out the main function
The main part that needs to be triggered

  • The main function of a trigger depends on the spell. Lets say we are doing Spear Throw I would say the main function of that spells is to make the animation “swinging a spear”. To do this you can get a model with a spear (brigand) and then have him play a attack animation and then put a wait so at the close end to the attack you can pause and set his animation speed to 0 and turn him bake and forth which would create a swing animation. The pausing part is not that hard. Lets say you casters animation time to attack is .40 then you would put a wait at about 36-37 so it pauses the unit right at the end of his thrust. This is a simple animation function. Some times you are making a spell that requires a periodic event. What you would do is make a For Each Integer A, Do Multiple Actions (Set the numbers to how many times you want it example for ten times 1-10) and add a wait at the end for how often you want it to happen then you put the actions on top of the wait. Lets say you want to make breath of frost to come out of the caster by every 10 angles (360/10 = 36 breaths will cast) so in side of the For Each Integer A make a For Each Integer B, Do multiple Actions now set this one to 1-36. After than you would make a dummy caster (see part 5) to cast frost breath in then angle of the current integer B time 10. What this means is you will have 36 dummy casters all casting in a different angle. This would look some thing like this:
    Code:
    For each (Integer A) from 1 to 10, do (Actions)
        Loop - Actions
            Set FrostCasterLoc = (Position of (Casting unit))
            For each (Integer B) from 1 to 36, do (Actions)
                Loop - Actions
                    Set CastPoint = (FrostCasterLoc offset by 100.00 towards ((Real((Integer B))) x 10.00) degrees)
                    Unit - Create 1 FrostCaster for (FrostCasterPlayer)) at FrostCasterLoc facing Default building facing degrees
        Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
                    Unit - Order (Last created unit) to Neutral - Breath Of Frost CastPoint
                    Custom script:   call RemoveLocation(udg_CastPoint)
            Custom script:   call RemoveLocation(udg_FrostCasterLoc)
            Wait 1.00 seconds
Part Five: Dummy Casters
Using and making Dummy Casters

  • A dummy caster is a modeless unit that cast a spell. To make a dummy caster you should start off with a base unit as human sorceress. Then to make it invisible add the ability “Locust” along with the spell you want it to cast. Also remove then other spells on the sorceress. Change the model of the unit to “_” so the unit will not have any model. Then remove the unit shadow image. Set the “Combat – Attacks Enabled” to “None”. Also set Collision size to 0. Now to use the dummy caster you will first need to create it with “Unit - Create 1 Sorceress for <player> at <the point where you want to summon> facing Default building facing degrees” and then you use this action to cast a spell “Unit - Order (Last created unit) to <spell you want to cast> <Point where you want to cast>” .Also you need to add “Unit - Add a 5.00 second Generic expiration timer to (Last created unit)” after you create the unit so the unit will die.
Homework: Post the main function of the spell you came up with earlier.

Participants​
 

pheonixashes

Those who misplace trust in gods learn their fate.
Reaction score
65
So, you're essentially going to have a maximum of 6 students?

Just wondering.

As always, send me a copy of the lesson when its published.
 

Tonks

New Member
Reaction score
160
Just as a side note: Don't overwhelm yourself by biting off more than you can chew.

If you're taking five different classes, you may become confused especially if you're brand new to the material being presented. It's better to learn just a few things thoroughly rather than missing key concepts on many different things.
 

DrinkSlurm

Eat Bachelor Chow!
Reaction score
50
I'm actually not completely brand new to triggers. I have been working with them for quite a while now on 2 maps so far. It's just that up until a few weeks ago, I have been almost exclusively self-taught. So I figured I'd sign up for a couple of the basic GUI classrooms to fill in whatever gaps I may have in my GUI knowledge.

So at this point, I don't think it's more than I can chew. Thanks.
 
U

Ur-Quan

Guest
I'm actually not completely brand new to triggers. I have been working with them for quite a while now on 2 maps so far. It's just that up until a few weeks ago, I have been almost exclusively self-taught. So I figured I'd sign up for a couple of the basic GUI classrooms to fill in whatever gaps I may have in my GUI knowledge.

So at this point, I don't think it's more than I can chew. Thanks.

Same as I i singed up because I want to fill my gaps up.
Like learning some tricks and other cool thingies :D.
 

Slywolf15

Member
Reaction score
5
I think he was talking about me. I'm not new to triggers. Although I am trying to learn things I don't already know about like using integers for example.
 

U are a noob

Mega Super Ultra Cool Member
Reaction score
152
. So I figured I'd sign up for a couple of the basic GUI classrooms to fill in whatever gaps I may have in my GUI knowledge.
This is not basic GUI just to let you know.
like using integers for example.
If you don't know how to use integer variables it will be harder for you to understand but I'll try to explain Integers in my lessons.
 

MaaxeEvid

New Member
Reaction score
8
Lesson 2 Homework :
Spell:

Spear Storm:
By swinging a spear inflicts damage and shock nearby 300 AoE enemys.

If the spell have 3 levels, should be:

Level 1 - Deals 90 Damage and stuns for 1 second.
Level 2 - Deals 140 Damage and stuns for 1.5 seconds.
Level 3 - Deaks 200 Damage and stuns for 2 seconds.

Rules: The caster must have a spear (attachment or other)

Spell based on movie: 300 by_ Leonidas ^^

The image icon could be various...
 
T

The Fuzzyone

Guest
i will join

i will sign up for your class thing. also i have a spell idea.
Inferno tempist- 1 level
istantantly kills the hero but causes massive pillars of flames to com eout dealing isnane damage for 3 seconds and dealing a lot over a long time after for 15 seconds. deals more damage towards the center and deals less the father you go out
 

elmstfreddie

The Finglonger
Reaction score
203
Nothing better to do, so I guess I'll join lol.
(I mostly want to make spells for fun LOL)

Spell Idea
Slit Throat
The thief comes up behind the target unit and slits his throat, making him bleed which deals damage over time and slows him (ayagh the pain!). This spell only works when stealthed and if you are behind the target unit.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top