• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!
  • ✅ The POLL for Hive's Texturing Contest #34 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!
  • ✅ The POLL for Hive's Techtree Contest #20 is OPEN! Vote for the TOP 3 FACTIONS! 🔗Click here to cast your vote!

Would this way of making MUI spells with waits work?

Status
Not open for further replies.
Level 18
Joined
Mar 13, 2009
Messages
1,411
I was thinking of this little trick, but I don't know if it is possible:

- Make a dummy unit with a negative health regeneration.
- When the dummy unit is killed it starts the effect.

I could test this and will, but I want to know what others think about this trick and I don't know if it is possible to use it. It could be of a good use for others too if possible.
:wink:
 
Little things I am worried about:
- Can Invulnerable units be damaged this way.
- Does dying to negative health regeneration count as being killed?

I have never heard of the trick, but maybe nobody ever tought of it ;P
 
- Can Invulnerable units be damaged this way.
I don't know, why use invulnerable units, try locusts as dummies ^^
- Does dying to negative health regeneration count as being killed?
I think it counts as a death, a phoenix revives after dying, right? :s

I've never heard of it either, I think you're the first :D
 
Can't units with Locust be killed by non-targeted spells and other area effects? I would usually give them Invulnerable and Locust.

You can... give the locust a lot of HP and a high Degen, so if a spell deals let's say about 1k damage, it wouldn't affect the dummy-timer a lot :s
I haven't tried this either, so I wouldn't know :p
 
What about expiration timers? They kill the Unit after a fixed duration. Should work even better than negative health-regen. I sometimes use dying dummys and i always kill them this way.
 
  • MUI wait
    • Events
    • Conditions
    • Actions
      • Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
      • Set WaitDummy[1] = (Last created unit)
      • Countdown Timer - Start DummyDeathTimer as a One-shot timer that will expire in 3.00 seconds
      • Wait until ((WaitDummy[1] is dead) Equal to True), checking every 0.10 seconds
      • -------- Your Actions --------
  • blah
    • Events
      • Time - DummyDeathTimer expires
    • Conditions
    • Actions
      • Unit - Kill WaitDummy[1]
Something like this would work better I guess?
*note that it's a 1 min code and isn't made to work in MUI yet, the array would have to use some integer like playernumber then, but I believe you can sort that out yourself ^^*
 
That would be MPI then, MUI needs another array.

I've once heard that expiration timers were inaccurate, so this might be worth checking anyway.

Yeah, you're correct. A looping real would be better I suppose (If you know how to make that. (It's what I use for most of the time, simply cause I don't know any better way to make an array 100% MUI in GUI ^^)
 
Well, your idea will not work as it is now.


But however I thought little bit and I think I find a way to make it MUI (it works only for one wait, if there will be more wait, accumulate this system)

  • casting
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Holy Light
    • Actions
      • Unit - Create 1 DUMMY for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
      • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
      • Set dummy[(array_index + 1)] = (Last created unit)
      • Set position_of_caster[(array_index + 1)] = (Position of (Casting unit))
      • Set position_of_target[(array_index + 1)] = (Position of (Target unit of ability being cast))
      • Set array_index = (array_index + 1)

  • finishing
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Dying unit)) Equal to Footman
    • Actions
      • Unit Group - Add (Dying unit) to GROUP
      • For each (Integer A) from 1 to 8192, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (dummy[(Integer A)] is in GROUP) Equal to True
            • Then - Actions
              • Special Effect - Create a special effect at position_of_caster[(Integer A)] using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
              • Special Effect - Create a special effect at position_of_target[(Integer A)] using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
              • Game - Display to (All players) the text: IT WORKS!!!
              • Unit Group - Remove (Dying unit) from GROUP
            • Else - Actions
I think it is MUI, of course Leaks&things must be cleared
 
I thought expiration timers didn't count for killing a unit. My mistake :P
I know there were other ways to do this, but I wanted to do it without the need for timers.
 
Mwah if expiration timers work they might be easier (sometimes).
I made a little test map that I could post here later that shows you a little MUI test spell with timed effects made this way :P

I just didn't know expiration timers also were counted when a unit got killed. I thought the units were removed instead when expiration time was over.
 
I tested it again, it is full MUI, I just advise to use variables Caster=casting unit and Target=target unti of ability being cast in the first trigger, and in second trigger "create special effect on position of CASTER/TARGET)


No need to thank me :)
 
Status
Not open for further replies.
Back
Top