• 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.

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:
 
Level 18
Joined
Mar 13, 2009
Messages
1,411
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
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
- 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
 
Level 28
Joined
Jan 26, 2007
Messages
4,789
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
 
Level 5
Joined
May 12, 2008
Messages
80
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.
 
Level 16
Joined
Jun 25, 2008
Messages
1,043
  • 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 ^^*
 
Level 16
Joined
Jun 25, 2008
Messages
1,043
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 ^^)
 
Level 12
Joined
Mar 26, 2005
Messages
790
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
 
Level 18
Joined
Mar 13, 2009
Messages
1,411
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.
 
Level 18
Joined
Mar 13, 2009
Messages
1,411
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.
 
Level 12
Joined
Mar 26, 2005
Messages
790
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.
Top