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

Life Drain --> Healing Spell

Status
Not open for further replies.
Level 6
Joined
May 1, 2009
Messages
215
Hi. I can't understand for the life of me why I can't do this.

I'm making a 'channeling healing spell' and the best base for that spell in the obj. editor is life/mana drain.

I've tried both, but neither will allow you to use the spell on allied/friendly units. I've been using "Air,Friend,Ground,Invulnerable,Neutral,Non-self,Organic,Vulnerable" as the allowed targets, but it's hardcoded into the spells that you cannot target an allied unit, at least, that's my understanding.

But I've seen this done before on several maps and I've been wondering if I'm simply doing something ridiculously noobish, I should be using a different base spell, or if they're doing it with JASS.

I really don't want to use triggers for this spell, since it will not be on a hero unit. I could have 'spawn unit blah blah blah cast life drain remove last created unit' or I could try JASS I guess (I have very little experience with it), but I'd love it if there were a solution with just the object editor.
 
Level 3
Joined
Apr 23, 2009
Messages
58
Flower do you wan't a channeling spell like "chain lightling" ?

if i understand what you mend you could do it like this way
if i didn't understand what you mend don't listen to me and wait for other usefull members

if so you could just go to object editor and click on "New Custom Ability" (the fist in the menu)
Afther that click on the letter "H" and click on "Healing Wave" or "Healing Wave (Rohan)"

Name it like you want.
than click on the "Stats - Hero Ability" it says "true" change it to "False"
Than go all the way down and it will say
"Level 1 - Stats - Targets Allowed:" And just click on what you want it to have

(this is only for the expansion set)
And if you just want to do it GUI or JASS don't listen to me

( DON't GIVE ME REP IF THIS WORKED JUST TELLING IS ENOUGH )
 
Level 8
Joined
Apr 30, 2009
Messages
338
Just make a dummy channel spell, and when the spell is cast run a periodic trigger that casts small heals on the target every 0.25 seconds as long as the caster is still channeling.
 
Level 6
Joined
May 1, 2009
Messages
215
Have you tried inserting negative values for life/mana drain?

Of course, and it heals enemy units, which is great, except, I want to be able to use it on allied units. If I target an allied unit with the modified drainlife/mana it says 'cannot target friendly units' no matter what setting it's at.

A dummy channel spell could work, I suppose I'll resort to it if no one else can suggest anything.

Thanks everyone.
 
Level 8
Joined
Apr 30, 2009
Messages
338
I had the same problem with spells based on the siphon spells. For some reason it won't let you target any units at all.
 
Level 1
Joined
May 4, 2009
Messages
6
Advanced > Game constants or something like that. There are many "skill-related" booleans (like allowing to turn off some timed skills, or auras having effect on invisible-burrowed units, etc). Maybe it's there.

Edit: there are some of these options regarding the transfer spells, and they are all by default "false".
 
Level 6
Joined
May 1, 2009
Messages
215
Try unchecking all target boxes, then just leave "Friend" checked.
The try setting the life drained to a negative value.

This does not work, unfortunately.

Advanced > Game constants or something like that. There are many "skill-related" booleans (like allowing to turn off some timed skills, or auras having effect on invisible-burrowed units, etc). Maybe it's there.

Edit: there are some of these options regarding the transfer spells, and they are all by default "false".

At first I thought you'd got it, but unfortunately Game Constants only has 5 values for drain spells, and they're all related to gaining or losing bonus health / mana and wether to give bonus to etheral units.
 
Level 6
Joined
May 1, 2009
Messages
215
try to base it on siphon mana instead of drai life. remember to change the constant

I've already explained that I've tried both siphon mana and drain life as base spells.

And why does everyone keep telling me to change constants? I know how to make it heal things, I just need to know how to get it to target friendlies :9. No matter what you do in the object edtior, it will say 'can only target enemy units', so that's clearly not the solution.

But just to humor you, I tried again, thinking this problem was all in my head (really, this should be something easy to do, that's why I decided to use this spell for my spell casters), but no, it didn't work again.

Short of making a dummy channel spell (actually, is there a channel spell at all that allows you to target a single unit? I can't think of any)... any ideas? Or am I stuck with that? I really like this spell idea, but I dunno if it will ever come to fruition.

Actually maybe I should just explain my idea? Ok. Here, I'm doing a goblin race. It's shaping up perfectly. Hiveworkshop has some models for melee/ranged units, buildings... etc. But every race needs a spellcaster so I'm making a 'goblin medic'.


The spells I'm making are pretty much spoofing the Medic from Teamfortress, since this model has a gun and is called a medic.

Tier 1 Spell:
Healing Wave
45 Mana
Channel
Heals the targeted unit 8 hp/sec for for 30 seconds.
(because this spell has to be micromanaged, it actually consumes much less mana than a priest's heal, over time)
Tier 2:
Kritzkrieg
150 Mana
(Instant)
The targeted unit will has gaurenteed criticals for 12 seconds.
(basically, when the targeted unit receives the buff, he'll just temporarily have a passive crit strike x2 100% chance, when it fades, the ability is removed)
Tier 3
Ubercharge
225 mana
(1 sec cast) (non-self) (auto-cast)
Makes the targeted unit very resistant to damage for 10 seconds.

Of course, the spells aren't ideal (I'd prefer to have all three spells 'channel required' but I realize that if making a channeling healing spell is going to be this difficult, I'll probably need JASS for the others), but this is my idea. What do you guys think? Basically, I just want this goblin medic to stand out from other healing spellcasters, and in order to do that, I've decided to emphasize the gun he's carrying. I could always give him the normal 'healing wave' spell but that's been done to death already.
 
Shackle will bind both units...
Blizzard/Rain of Fire target the ground..

You can use the Cloud ability, allow friendly units and make the life transfer via triggers like this:
  • Channeling Healing
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Heal_Channel_Dummy(Cloud)
    • Actions
      • Unit - Create 1 DrainingDummy for (Random player from (All enemies of (Owner of (Triggering unit)))) at (Position of (Triggering unit)) 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 Dark Ranger - Life Drain (Target unit of ability being cast)
Then you add a trigger that if channeling is stopped the unit is killed.
The life drain should have negative values.
Remove leaks by yourself.
 
Level 6
Joined
May 1, 2009
Messages
215
Shackle will bind both units...
Blizzard/Rain of Fire target the ground..

You can use the Cloud ability, allow friendly units and make the life transfer via triggers like this:
  • Channeling Healing
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Heal_Channel_Dummy(Cloud)
    • Actions
      • Unit - Create 1 DrainingDummy for (Random player from (All enemies of (Owner of (Triggering unit)))) at (Position of (Triggering unit)) 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 Dark Ranger - Life Drain (Target unit of ability being cast)
Then you add a trigger that if channeling is stopped the unit is killed.
The life drain should have negative values.
Remove leaks by yourself.

and

Drain life / mana is hardcoded to allow it to only target enemy units, no matter what.

You need to make a spell based on channel and use triggers to transfer the life between units.

Thanks for your responses, but I've concluded that even these ideas will not actually work.


1. Aerial Shackles cannot be given a negative damage per second (although that could be corrected with triggers), but doesn't matter because of the following.
2. Aerial Shackles immobilizes the target, I don't want that effect.
3. Life / Mana drain cannot target allies.
4. All other channeling spells have A) no target B) target an area. How can I use a spell that gives me an area target target only one specific unit? Can't be done.

In conclusion, there is no spell in WC3 on its own that can target a single allied unit and is a channelling spell.

Now, I could give my healer a skill like 'holy light' have it target an allied unit and heal it for 0, have a trigger run which spawns a NH dummy unit at the foot of the caster and casts drain life with negative values on health, and cause it to be destroyed if the caster moves ... but that sounds retarded and is misleading to the user (since it will not show they are channeling anything).

In short, I conclude a spell like this can only be accomplished through JASS.

Thanks for your help everyone.
 
Level 6
Joined
May 1, 2009
Messages
215
meh, im pretty sure it can be done with siphon

u could get someone to do it in jass for u or trigger it with the units custom value

It can't be. I'm not crazy man. But I've been searching through some threads and found this one

http://www.hiveworkshop.com/forums/f269/life-drain-help-15308/index2.html

It confirms my problem but also gives me a weird solution. I can have a trigger make the casting unit NH for an instant, then return ownership to the user. It will remove the player's control of the unit for a split second (thus deselcting the unit, which is a little annoying) I think, but it should work. An interesting fix.

(I'll leave this unsolved for a little while longer incase someone has a better solution, but for now, I've found one)
 
Level 3
Joined
Apr 18, 2008
Messages
44
I don't know where the idea came from that Siphon Mana is hardcoded to not target anything aside from enemies. In regular melee Siphon Mana can indeed target friendly units, and in my latest map of mine I have a Siphon Mana based spell that can indeed target friendly units.

Here are the targets I allowed:
Air
Friend
Ground
mechanical
Not self
Organic


As for another solution. You could try to use this system:

Lightning System [GUI] - The Hive Workshop - A Warcraft III Modding Site


That system effectively allows you to create a chain between two units for as long as you want. You would probably need to make a number of changes to it to make it exactly how you want, but it might be a good starting base for your needs.
 
Level 6
Joined
May 1, 2009
Messages
215
It's cool that you can target the neutral hostile building in the center, but when I put some footman owned by player one there and I try to life drain them, it says ' already at full health' (even when I have 1 footman attacking my necro and I try to life drain the other). An interesting change, but shows no results as far as I can tell. Your map only has targeting enemy units.
 
Level 11
Joined
May 16, 2007
Messages
288
4. All other channeling spells have A) no target B) target an area. How can I use a spell that gives me an area target target only one specific unit? Can't be done.

Wrong. You can do that with channel (you can create pretty much ANY spell with channel). Just go to "Level X - Data - Target Type" and change it to Unit Target.

Then you just have to do the trigger to transfer the life between units.
 
Level 4
Joined
Apr 25, 2008
Messages
75
I was reading threads and read yours then I went to work on my map then I saw this trigger.
  • Player - For Player 1 (Red), turn Friendly spell targeting On toward Player 2 (Blue)
I don't know if it'll work but hope it does. Good Luck!!

(It's "Player - Set Aspect of Alliance")
 
Level 2
Joined
Mar 1, 2009
Messages
13
why dont u try to change the art and all those stuff through object editor.i think it is simple
 
Level 6
Joined
May 1, 2009
Messages
215
Wrong. You can do that with channel (you can create pretty much ANY spell with channel). Just go to "Level X - Data - Target Type" and change it to Unit Target.

Then you just have to do the trigger to transfer the life between units.

Ah I was wrong. Thanks for correcting me.

Why do you want to use life siphon or mana drain? just create a spell based on channel and trigger the life exchange, so you have a triggered life transfer.

I could even do that for you if you ask nicely...

Yeah I got this working, thanks for offering, but I thought I could use life drain for simplicity. Besides, I don't like to use GUI triggers for non-hero spells (I'm concerned about leaks), but in this case I really don't have any choice short of finding some JASS which mimics what I want, which I may search for in the future.

why dont u try to change the art and all those stuff through object editor.i think it is simple

Hablas ingles?



I'd like to thank everyone for responding to this thread. I'm /really/ busy with finals right now but I promise to rep all over you within the week haha.
 
And why should give up or just base it off the default spell? Just have a trigger to check the target's position, create a lightning between position of caster and target, change its height and change every 0.03 seconds the position of the last created lightning to Position of caster and the target and set life of target to ((Life of (Target unit of ability being cast)) + X). Base it off channel with Animation from 180.00 to the seconds of channeling and also create another trigger with events A unit stops channeling an ability/ A unit finishes casting an ability and actions are destroying the lightning and turn off the periodic trigger (the 0.03 one) to stop giving the target unit bonus healing.
 
Level 6
Joined
May 1, 2009
Messages
215
And why should give up or just base it off the default spell? Just have a trigger to check the target's position, create a lightning between position of caster and target, change its height and change every 0.03 seconds the position of the last created lightning to Position of caster and the target and set life of target to ((Life of (Target unit of ability being cast)) + X). Base it off channel with Animation from 180.00 to the seconds of channeling and also create another trigger with events A unit stops channeling an ability/ A unit finishes casting an ability and actions are destroying the lightning and turn off the periodic trigger (the 0.03 one) to stop giving the target unit bonus healing.

Haven't given up, I've got a solution, though I consider it temporary. It's basically what you've described, but it's messy. Of course, I'm using GUI triggers so I shouldn't complain...
 
Level 1
Joined
May 13, 2009
Messages
4
There's a map out there called ENFO's Team Survival - MT Edition.

The 'Empath' character on that map has a channelling spell that heals the enemy and hurts her. It doesn't deselect the unit either.

Might do you some good to dig around and if you can get a PM from the map author. I'm sure if they have an answer for you it would get the desired effect.
 
Last edited:
Level 2
Joined
Mar 13, 2008
Messages
24
Alright, so before you call it a loss, there is one skill that you may have forgotten.

Channel.

Set the Art stuff to whatever you want. Data - Art Duration will set the length you want the skill to go, and Data - Follow Through Time will pause your unit, making them do nothing but the channel animation during it, (so it can't be canceled). Data - Options make sure to check Visible so you can actually use it, Data - Target Type to Unit Target, and Targets allowed to Friends, Organic.

Then you can use a trigger, it will use the channeling animation, and you have a base skill that works!

Hope this helps. ^^
 
Status
Not open for further replies.
Top