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

Dummy Channeler

Status
Not open for further replies.
Level 6
Joined
Feb 6, 2008
Messages
166
Still haven't started my "break" yet. I just gotta make the Demon race playable before I stop. >.>

I have a hero and I want it to have a modified version of the Cloud ability, with 3 levels. However, it's a channeling ability, and I don't want it to be. I'm pretty sure DotA AllStars's Enigma has a skill Midnight Pulse which is based off of Death and Decay. However, it's not channeling, and I know there's a dummy unit doing the channeling for him.

I'm not exactly sure how to go about doing this though. I know some of the basics, and I know how to do it for skills where the dummy and the actual skill are both on the same hero. I can even work with a dummy caster for a skill with only 1 level. Aside from that, though, once you throw in a multi-level skill to be used with a dummy caster, I'm lost.

I get the feeling though, that Maker is going to conjure another miracle for me. >.>

By the way, here's the furthest I can get with dummy casters so far:
  • Planar Distortion
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Planar Distortion (player cast)
    • Actions
      • Set Distortion_Temp_Loc_1 = (Position of (Casting unit))
      • Unit - Create 1 Distortion_Dummy for (Owner of (Casting unit)) at Distortion_Temp_Loc_1 facing Default building facing degrees
      • Custom script: call UnitAddAbility(GetLastCreatedUnit(), 'Aloc')
      • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
      • Custom script: call RemoveLocation(udg_Distortion_Temp_Loc_1)
And this basically says that when the hero casts his 1 level ultimate, "Mirror Image", create a dummy unit where he was and tell it to use Thunderclap.

I don't know how to take this and adapt it for use with multi-leveled skills though.
 
Level 18
Joined
Jan 21, 2006
Messages
2,552
  • Untitled Trigger 002
    • Events
    • Conditions
    • Actions
      • Unit - Set level of Thunder Clap for DummyUnit to SpellLevel
You would need multiple levels of the original ability (for interface purposes) and multiple levels of the dummy ability. When you create the dummy, add the ability to it if it doesn't have it already and then change the level of the dummy ability to match the level of the "interface" ability.

I believe this "Unit - Set level of..." is the last field in the "Unit -" section.
 
Level 6
Joined
Feb 6, 2008
Messages
166
Hmm... Maybe it's just me being careless and glancing past something. I tend to do that in the trigger editor a lot. Still not fully used to it. I'll give it a go and see what I can work out. I'm always up all night anyways. I get my sleep in the afternoons, after I come back from class, because if I sleep at night, I always have a hard time waking up at 6am.

GOT IT. I think. How's this?

  • Evil Force
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Evil Force (Dummy Spell)
    • Actions
      • Set EvilForce_Temp_Loc_1 = (Position of (Casting unit))
      • Unit - Create 1 Evil_Force_Dummy for (Owner of (Casting unit)) at EvilForce_Temp_Loc_1 facing Default building facing degrees
      • Custom script: call UnitAddAbility(GetLastCreatedUnit(), 'Aloc')
      • Unit - Set level of Evil Force (Trigger Cast) for (Last created unit) to (Level of Evil Force (Dummy Spell) for (Casting unit))
      • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
      • Unit - Order (Last created unit) to Human Dragonhawk Rider - Cloud (Target point of ability being cast)
      • Custom script: call RemoveLocation(udg_EvilForce_Temp_Loc_1)
 
Last edited:
Level 18
Joined
Jan 21, 2006
Messages
2,552
So, what you do is:

  • Evil Force
  • Events
    • Unit - A unit Begins casting an ability
  • Conditions
    • (Ability being cast) Equal to Evil Force (Dummy Spell)
  • Actions
    • Set EvilForce_Temp_Loc_1 = (Position of (Triggering unit))
    • Unit - Create 1 Evil_Force_Dummy for (Owner of (Triggering unit)) at EvilForce_Temp_Loc_1 facing Default building facing degrees
    • Custom script: call RemoveLocation(udg_EvilForce_Temp_Loc_1)
    • Custom script: call UnitAddAbility(GetLastCreatedUnit(), 'Aloc')
    • Unit - Set level of Evil Force (Trigger Cast) for (Last created unit) to (Level of Evil Force (Dummy Spell) for (Triggering))
    • Unit - Add a 10.00 second Generic expiration timer to (Last created unit)
    • Set EvilForce_Temp_Loc_1 = (Target point of ability being cast)
    • Unit - Order (Last created unit) to Human Dragonhawk Rider - Cloud EvilForce_Temp_Loc_1
    • Custom script: call RemoveLocation(udg_EvilForce_Temp_Loc_1)
 
Level 6
Joined
Feb 6, 2008
Messages
166
Thanks a bunch. I'd +rep both of you (again), but it says I gotta spread the love. :3

By the way, Maker, how do I know whether "triggering unit" will be faster than the other options available? Is there like... a rule of thumb that I can use to help me decide what to use to refer to a unit?
 
So, do I always use Triggering Unit? Do I only use the others if there are multiple events?

you only use the others if you cannot use triggering unit that is when the unit you need is not the one that is causing the trigger to run, and for multiple events its best to use triggering unit

examples of when you cannot use Triggering Unit:
-Target Unit of Ability Being Cast, Attacking Unit etc...
 
So how about A unit Begins training a unit? Trained unit refers to the unit being trained, but it says it applies to A unit Finishes training a unit. Do I use Triggering Unit in this case? or will Trained unit still work with Begins training a unit?

the trained unit will be the unit being trained while Triggering Unit would be the one that's training/trained the unit...
 
I think so, I guess you cannot do anything to a unit that is not yet present in the map... but you can try it... I'm not with my editor right now so I cannot check that variable... what does it says exactly? you know the GUI comment that is on the lower side of the box when you select things like that (triggering unit, etc...)
 
Level 15
Joined
Aug 31, 2009
Messages
776
As an aside note, you should consider giving your dummy units the Locust ability in the Object editor, as it saves you having to apply it via triggers every time.

You can also just use the same Dummy unit for all dummy spells in the game, as it really doesn't require a different dummy for each and every spell - after all, you add the correct ability via triggers anyway.
 
Level 6
Joined
Feb 6, 2008
Messages
166
Hmm...
Thanks for the info. I guess there's no way for me to access the unit-type of the unit that's currently being created. I'll get to adding locust and merging the dummy units in a bit. Got a few bugs I need to solve right now, and with my schedule, I prefer to get the bigger problems out of the way first. I'm not adding another custom race for quite some time, and until then, I don't need any more spells with a dummy caster, so I'll make the changes after I work through the bugs.
 
Status
Not open for further replies.
Top