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

Shadow Strike AoE

Status
Not open for further replies.
Level 2
Joined
Oct 28, 2011
Messages
19
So I put AoE on Shadow Strike but for some reason it does nothing to nearby enemies, only works on single enemy... Why is that?
 
Level 20
Joined
Jul 14, 2011
Messages
3,213
This should be in World Editor section, not in Requests.

Some skills have the "AoE" field that does nothing afaik. You'll have to trigger the effect you want... which is?
 
Level 2
Joined
Oct 28, 2011
Messages
19
Ok.. Sorry if I put this in a wrong place. :p but i give it a shot. never tried triggers on spells thou.. :p
 
Level 20
Joined
Jul 14, 2011
Messages
3,213
It's easy... but depends on how you want the effect... I'll give you an example about how to do it so, when the first shadow strike hits the target, other shadow strikes goes from that target to other arounds in 300 AoE.

This is all in GUI, but I'll show you This way since I don't have the editor here to create the thing and copy-paste.

Things you need:
1- A Point variable (I'll call it "Point")
2- A unit with no model (just type .mdl in import field of Art - Model) no shadow, no collision, Locust ability, Invulnerable ability, 9999 hp, 9999 mana, 522 speed, and 100 (or so) sight range, no attack enabled. Flying movement.

JASS:
Event
A unit starts the effect of an ability

Conditions
Unit Type of (Triggering Unit) is not equal to Dummy

Actions

Set Point = Position of (Target Unit of Ability Being Cast)
Custom script: set bj_wantDestroyGroup = true
Unit Group - Pick Every unit in (Units within 400 range from Point Matching (Matching Unit is an Enemy of Triggering Unit = True) and do actions
    loop
    Unit - Create 1 Dummy at Point for (Triggering Player) facing default degrees.
    Unit - Add 'Your*Shadow*Strike*Spell' to (Last Created Unit)
    Unit - Order (last created unit) to Undead - Shadow Strike (Picked Unit).
    Unit - Add a 0.5 Generic expiration timer to (Last Created Unit)
Custom script: call RemoveLocation(udg_Point)

This is not too accurate though, since the Shadow Strike will be shoot from your target unit to units around before your first shadow strike reaches the target.

If you want to give it more range, just increase the range in the group from 400 o whatever you want (be sure to give the ability the same range though)

If you want the second shadow strike to be weaker, just create that ability, and give that to the dummy.
 
Level 2
Joined
Oct 28, 2011
Messages
19
attachment.php


Here's the problem.. x_X Im bad in these things D:
 

Attachments

  • Error.jpg
    Error.jpg
    153.3 KB · Views: 177
Level 17
Joined
Jul 1, 2010
Messages
720
I suggest you learn more about these things if you are gonna be creating maps or spells...udg_Point is an Ability type variable not a Location. Turn udg_Point into a Location variable and then do:

  • Set Point = (Target Point of Ability being cast)
Afterwards do:
  • Unit Group - (Pick every unit in (Units within 400 of Point)) and do (Actions)
Of course you will have to filter what kind of units to pick: enemy, allied, ground, air, neutral, etc...for the spell to work correctly.
 
Level 2
Joined
Oct 28, 2011
Messages
19
attachment.php


Did what you told me, but still wont work.. Or did I?
 

Attachments

  • Error2.png
    Error2.png
    28.9 KB · Views: 192
Level 2
Joined
Oct 28, 2011
Messages
19
Add acid bomb but make it cast shadow strike?

The skill name Im using is Acid bomb (made from Shadow Strike), but in

Unit - Issue Order Targeting A Unit

Order (Last created unit) to Night Elf Warden - Shadow Strike (Picked unit)

there wasnt my own made spells.

You know what I mean? :D
 
Ofc... but if the ability is based on shadow strike, it would be casted when you order a shadow strike... check if the dummy caster has enough mana, can see the target etc...

Also since you named it Acid Bomb, make sure that it isn't the default acid bomb... and make sure that it is a UNIT ability...

and aside from the trigger firing even when you cast a different spell, you also leak locations... Position of Triggering Unit... I think that should have been the Point variable...

also, if that unit is locusted, you better add him to a variable because sometimes, Last Created unit forgets a unit that has locust...
 
Level 2
Joined
Oct 28, 2011
Messages
19
Ok. seems like it works now.

I tried if it leak, but seems like when i do wind walk, mirror image or critical strike (those are the other spells this hero has) it does not do shadow strike.. so it works perfectly then? :p
 
because the target point of those abils is null, it will take effect at the center of the map...

Also that is not what a leak is... your usage of Position of Triggering unit causes a memory leak as you don't remove it afterwards... also your placing of the removelocation for Point is wrong... you should place it after the group loop, not inside...
 
Level 17
Joined
Jul 1, 2010
Messages
720
Ok here's the complete spell:



Shadow Strike AoE = Your ability
Dummy Caster = Dummy Caster unit

Also check when adding ability to dummy caster unit that the mana cost 0, make sure dummy caster requires no food, can't be seen on map, is unselectable (to do this give him the Locust ability in the object editor with the invulnerable ability) and disable all of his attacks.
 
Last edited:
  • Events
    • Unit - A unit starts the effect of an ability
  • Conditions
    • Ability being cast is equal to ShadowStrikeAOE
  • Actions
    • Set Point = Target Point of Ability Being Cast
    • Set Owner = Owner of Triggering Unit
    • Custom script: set bj_wantDestroyGroup = true
    • Unit Group - Pick every unit within 400 of Point + your filters here
      • Do - Actions
        • Set Point2 = Position of Picked Unit
        • Unit - Create 1 dummy for Owner at Point2 facing
        • set Dummy = Last Created Unit
        • Unit - Add ShadowStrikeReal to Dummy
        • Unit - Add a 1.00 second expiration timer to Dummy
        • Unit - Order Dummy to Night Elf Warden - Shadow Strike Picked Unit
        • Custom script: call RemoveLocation(udg_Point2)
      • Custom script: call RemoveLocation(udg_Point)
 
Level 2
Joined
Oct 28, 2011
Messages
19
attachment.php


Hope you got patience with me, but now it doesn't do AoE to nearby enemies... D:
 

Attachments

  • ERRORR.png
    ERRORR.png
    19 KB · Views: 119
Copy my trigger... you got the variables mixed up...

Owner is a player variable and should be [Owner of triggering unit] not Triggering Unit
Point2 is a point variable not a unit

the creation should be

Unit - Create 1 Dummy for Owner at Point2...

while yours is

Unit - Create 1 Dummy for Owner of Point2 at Position

see the differences?

Copy my trigger exactly as how it looks...
 
Level 2
Joined
Oct 28, 2011
Messages
19
attachment.php


I checked it about 10 times, but don't know whats wrong...... D:
 

Attachments

  • nimetön.png
    nimetön.png
    57.1 KB · Views: 156
Level 2
Joined
Oct 28, 2011
Messages
19
what happens exactly? is the shadow strike you added, the modified one? (the one named Acid bomb earlier)...

also, the RemoveLocation for udg_Point should be outside of the group loop...


It's the original shadow strike (tried the custom shadow stirke too) and I changed ugd_Point to right place, but wont still work.
 
Are you sure that the dummy can cast it? like mana cost, range and also that its a unit ability? and what about the shadow strike on the condition? is it the custom shadow strike that your hero has?

The shadow strike in the condition should be the shadow strike that the hero unit casts, while the shadow strike that you add to the dummy should be the shadow strike which will actually do the damage, and make sure that the dummy can cast it...

Add a line before the set point = target point which will show a message to all players saying "Spell run" then, put another game message inside the group loop saying "Loop"

then test the spell again and see which messages are shown

if the Spell Run message doesn't show, it means your condition is wrong... if the message Loop doesn't show then it means that there is no unit picked... you can also add your own debug messages in the other parts of the trigger too, to see which parts work and which parts doesn't...
 
Level 2
Joined
Oct 28, 2011
Messages
19
The problem was in Condition part.. but now it is fixed and spell works perfectly.. Thank you very much :)
 
Level 2
Joined
Oct 28, 2011
Messages
19
One more question. Can I make other spells like this ?
I mean example. Entagled Roots or Storm Bolt and do I have to do Dummy unit for all different spell or will the one Dummy unit work on all of them?
 
Level 2
Joined
Oct 28, 2011
Messages
19
Ok. You were really helpful :) I'll hope I learn this stuff so it wont be so complicated. To me and those who try to help :p
 
Level 20
Joined
Jul 14, 2011
Messages
3,213
Cactuar, you're in the right road. Testing, trying, asking, experimenting. That's the best way to learn Wc3.

As long as you understand the basis of what that trigger does, you can manipulate actions and conditions to do almost whatever you want... Eventually you reach the point where you don't even need to test triggers and skills... You'll know they work.

Please, Adiktuz said it, I say it too: USE TRIGGER TAGS You can Right-Click the trigger header (The trigger name, the first line of your trigger) and "Copy as Text".

[Trigger]
*Paste Your Trigger Here*
[/Trigger]

It will look like this:
  • *Paste your Trigger Here*
 
Status
Not open for further replies.
Top