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

[Trigger] Ice Clone

Status
Not open for further replies.
Level 3
Joined
May 2, 2007
Messages
58
Ok, i want to make this ability but im a nub with triggers so please help will be much appreciated. Dont use JASS please.

Basically it consists on that the hero makes a clone of itself (clone should last 30 seconds), and any unit that attacks phisically the clone gets freezed (stunned with a buff with the Art - Target Freezing Breath). The freezing duration depends on level: level 1: 3 seconds, level 2: 4.5 seconds, level 3: 6 seconds.

Please specify as much as possible because im a noob, for example say what type of variable if your using one, and from what basic ability should i make it.
 
Level 3
Joined
Apr 18, 2007
Messages
60
The first part shouldn't be too hard. Make an ability like Mirror Image or whatever it's called - go to the Abilities tab and modify one of the summoning spells, set the spell duration to 30 seconds, and have the summoned unit be a modified version of the original unit with the freezing ability.

I'm not entirely certain how to make the freezing ability, though, so you'd have to ask someone else about that.
 
The first part Pip L is right, you can use Feral Spirit, Summon Water Elemental, whatever =D
(I'd not use Mirror Image, btw)

For the freezing ability, maybe there's another way but I should do like this:

1. Create an ability based off Moon Glaive or Vorpal Blades (unless you want them to have some effect) and call it Freeze (just example)

2. Create a dummy unit, I mean, a unit with no model, no attacks, invulnerable and with locust ability.

3. Create an ability based off Storm Bolt (or other spell that causes stun). Modify it as you want. I'll call it Stun, for example. Give this ability to the Dummy.

4. Make the trigger:
  • Events
    • Unit - A unit spawns a summoned unit
  • Conditions
    • (Unit-type of (Summoned Unit)) equal to (Clone)
  • Actions
    • Unit - Set level of Freeze for (Summoned Unit) to (Level of (Hero's Spell) for (Triggering Unit))
This way we can detect what level the clone is, later.

5. Make the other trigger:
  • Events
    • Unit - A unit is attacked
  • Conditions
    • (Level of Freeze for (Attacked Unit)) greater than 0
  • Actions
    • Unit - Create 1 Dummy for (Owner of (Attacked Unit)) at (Position of (Attacking Unit)) facing (whatever)
    • Unit - Set level of (Stun) for (Last Created Unit) to (Level of Freeze for (Attacked Unit))
    • Unit - Order (Last Created Unit) to Human Mountain King - Storm Bolt (Attacking Unit)
    • Unit - Add a 1.5 second Generic expiration timer to (Last Created Unit)
(probably not leakless =D)
 
Last edited:
Level 3
Joined
May 2, 2007
Messages
58
using feral spirit though how do i make the summoned unit have the same stats as the casting hero?
 
Humm... well I forgot this detail xD
So the best way is using Mirror Image, but I don't know if it will work properly.

But we will have to check, in the first trigger, if the summoned unit is an illusion, because when you cast Mirror Image the hero summons two units - the real and the illusion. It would look like this:
  • Events
    • Unit - A unit spawns a summoned unit
  • Conditions
    • (Unit-type of (Summoned Unit)) equal to (Unit-type of (Triggering Unit)) // This way we know if the hero is using Mirror Image
    • ((Summoned Unit) is an illusion) equal to true
  • Actions
    • Unit - Add Freeze to (Summoned Unit) // You can't add the ability to the illusion in the Object Editor =D
    • Unit - Set level of Freeze for (Summoned Unit) to (Level of (Hero's spell) for (Triggering Unit))
I don't know if it really works, I'll test it right now =P
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,199
This should go in eithor the trigger (GUI) section or the spells and systems sections.

Well you need to use an illusion for the duration and detect an attack via the unit is attacked event. Then make a dummy and get it to cast a dummy storm bolt changed to your desires. And your spell is then done, although JASS can probably do it a lot more efficently.
 
I've just tested it and it works nicely:
  • Freeze Cast
    • Events
      • Unit - A unit Spawns a summoned unit
    • Conditions
      • ((Summoned unit) is an illusion) Equal to True
      • (Unit-type of (Triggering unit)) Equal to (Unit-type of (Summoned unit))
    • Actions
      • Unit - Set the custom value of (Summoned unit) to (Level of Mirror Image for (Triggering unit))
As it seems that I can't add an ability to an illusion, I just used the Custom Value to keep the level of Mirror Image. The second condition checks if the illusion is the same unit as the caster, it means, the hero cast Mirror Image.

  • Freeze
    • Events
      • Unit - A unit Is attacked
    • Conditions
      • ((Triggering unit) is an illusion) Equal to True
      • ((Attacking unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True
    • Actions
      • Unit - Create 1 Dummy for (Owner of (Triggering unit)) at (Position of (Triggering unit)) facing Default building facing degrees
      • Unit - Set level of Storm Bolt for (Last created unit) to (Custom value of (Attacked unit))
      • Unit - Order (Last created unit) to Human Mountain King - Storm Bolt (Attacking unit)
      • Unit - Add a 1.50 second Generic expiration timer to (Last created unit)
 
Level 3
Joined
May 2, 2007
Messages
58
This should go in eithor the trigger (GUI) section or the spells and systems sections.

"World Editor Help Zone Need help with the world editor? Ask questions about triggers, spells, scripts etc."
i figured id post it here.

And Hossomi it worked perfectly, ty very much ^^
 
Last edited:
I would make the spell entirely with triggers, make a dummy unit that looks just like ur hero, add the same abilities, then base the ability off channel. Make the Target type Instant, make the hero casting the ability a variable of like, herocaster.

then in the trigger do:

  • Ice Clone
    • Events
      • Unit - A unit Begins Casting an Ability
    • Conditions
      • (Ability being cast) Equal to (your Ability here)
      • ((Triggering unit) is a Hero) Equal to True (Boolean)
    • Actions
      • Set herocaster = (Triggering Unit)
      • Unit - Create 1 Ice Clone(dummy unit) for (Owner of (Triggering Unit)) offset by 150.00 towards (Random number between 0.00 and 50.00) degrees) facing Default building facing degrees
      • Unit - Add a 30.00 second Generic experation timer to (Last created unit)
      • Trigger - Turn on Freeze (the trigger where when someone attacks the dummy unit will freeze)
Then Make this trigger initially off:

  • Freeze
    • Events
      • Unit - A unit is attacked
    • Conditions
      • If (All conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Ice Clone(your ability) for (herocaster)) Equal to 1
        • Then - Actions
          • Special Effect - Create a special effect attached to the origin of (Attacking unit) useing Abilities\Spells\Undead\FreezingBreath\FreezingBreathTargetArt.mdl
          • Unit - Pause (Attacking unit)
          • Wait (how long u want it to last for level 1) seconds
          • Unit - Unpause (Attacking unit)
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
          • If - Conditions
          • (Level of Ice Clone(your ability) for (herocaster)) Equal to 2
        • Then - Actions
          • Special Effect - Create a special effect attached to the origin of (Attacking unit) useing Abilities\Spells\Undead\FreezingBreath\FreezingBreathTargetArt.mdl
          • Unit - Pause (Attacking unit)
          • Wait (how long u want it to last for level 2) seconds
          • Unit - Unpause (Attacking unit)
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
          • If - Conditions
          • (Level of Ice Clone(your ability) for (herocaster)) Equal to 3
        • Then - Actions
          • Special Effect - Create a special effect attached to the origin of (Attacking unit) useing Abilities\Spells\Undead\FreezingBreath\FreezingBreathTargetArt.mdl
          • Unit - Pause (Attacking unit)
          • Wait (how long u want it to last for level 3) seconds
          • Unit - Unpause (Attacking unit)
          • Special Effect - Destroy (Last created special effect)
        • Else - Actions
          • Do nothing
hope that helps u a little bit, Mercelo Hossomi's way is pretty good too.
 
Level 3
Joined
May 2, 2007
Messages
58
i did double post, just deleted and edited the post before that.


Just_Spectating i dont think yours would work because the clone wouldnt have the same stats as the hero, anyways i used hossomi's way and it worked just as i wanted, thanks anyways.
 
Status
Not open for further replies.
Top