HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Spell Help- Voodoo Circle

01-11-2009, 08:51 AM#1
Axzarious
Okay, basically this spell is an AoE spell centered on the caster. Im using Warstomp as a base. The spell is suposed to curse all units near the caster wtihin 300 AoE. However it only curses one unit and I dont know why, and thus I post here so that I may learn what the heck im doing wrong.

Trigger:
Voodoo Circle
Collapse Events
Unit- A unit starts the effect of an ability
Collapse Conditions
(Avility being cast) Equal to (==) Voodoo Circle
Collapse Actions
Wait 0.50 seconds
Set TempPoint1 = (Position of (Casting Unit))
Unit - Create 1 caster (Caster System) for (Owner of (Triggering unit)) at TempPoint1 facing Default building facing (270.0) degrees
Unit - Add Curse to (Last Created Unit)
Unit Group - Pick every unit in (Units within 300.00 of TempPoint1 Matching (((Picked Unit) belongs to an enemy of (Owner of Triggering unit))) Equal to (==) True)) and do (Unit - Order (Last created unit) to Undead Banshee - Curse (Picked unit))
Custom script: callRemoveLocation(udg_TempPoint1)
01-11-2009, 09:09 AM#2
DioD
You must create caster for every picked unit.

Spell cast is not instant.
01-11-2009, 01:01 PM#3
Zerzax
It will be instant if you remove the ability 'Amov' and set the unit's turn speed to a very high rate (thanks Ammorth). As DioD said, dummy cast's aren't instant because turn rates aren't instant.
01-11-2009, 06:04 PM#4
Axzarious
Ok. So from what you are saying I would have to set thier turn rate to instant? So what would count as instant? 0 or 99999? Would that be the only thing I would have to do? As for removing Amov do I have to trigger that? The Dummy's movement type is hover.
01-11-2009, 06:07 PM#5
Axzarious
Edit: Okay I got it. Thanks guys. I might be posing a few other things for spells in the next few days. I used Zerzax's option because there will be a high potential amount of targets for spells like this in my map and the less dummies the better.
01-11-2009, 06:10 PM#6
Kwah
Just the act of creating dummies doesn't really lag. If you have lots of targets I would actually create a dummy for each and everyone, simply to make the casting still instantaneous. I'll make up a trigger for you later if you want.
01-11-2009, 06:15 PM#7
Zerzax
But it's good practice to use the single method, and is considerably less expensive. I'm sorry I didn't read this in time, 99999 is max speed :P, as youve figured out.
01-11-2009, 06:17 PM#8
Kwah
Quote:
Trigger:
Unit Group - Pick every unit in (Units within 300.00 of TempPoint1 Matching (((Picked Unit) belongs to an enemy of (Owner of Triggering unit))) Equal to (==) True)) and do (Unit - Order (Last created unit) to Undead Banshee - Curse (Picked unit))

For those stats, I would use a dummy for each. But, meh both work.
01-11-2009, 06:36 PM#9
Zerzax
Store the single dummy unit as a global on init, then it will handle every single cast by itself.
01-11-2009, 06:47 PM#10
Axzarious
Actually I set thge units turn speed to 0.10 and it works.... the base was 0.60.
01-11-2009, 09:46 PM#11
Veev
You also need to use "Matching Unit" and not "Picked Unit". Replace the bolded "Picked Unit" with "Matching Unit".

Unit Group - Pick every unit in (Units within 300.00 of TempPoint1 Matching (((Picked Unit) belongs to an enemy of (Owner of Triggering unit))) Equal to (==) True)) and do (Unit - Order (Last created unit) to Undead Banshee - Curse (Picked unit))
01-12-2009, 07:31 AM#12
DioD
Better to start from:

Trigger sleep action drop current trigger data, and casting unit after w8 will return null.
03-08-2009, 05:09 AM#13
Kyrbi0
Hmm, that's a good idea... Use a single dummy, instead of a dummy for each, and keep it in one line. That way, I can properly localize the variables.

Schweet, didn't know that. Thanks. :P