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

Shoot Arrow Skill

Status
Not open for further replies.
Level 4
Joined
Oct 23, 2006
Messages
65
I'm looking to make a skill like the one in Archery Tactics. This should be simply, I've just never done it before. What should I base this off?

Also, I'm trying to make it so you can only target points and not units (to prevent unit-locking). I'm hoping that I can do this in the skill itself, if not I will just create a dummy skill using channel and make a dummy unit.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
carrion swarm.

Shockwave's terrain modification makes arrows keep going underground, [if the units dont want to be killed 1 hit] shockwave cant hit someone 2 times at once (2 shockwaves passing over at the same time), and shockwave has less allowable targets than Carrion Swarm, allowing for less options (eg. no Friendly Fire? Actually, i think its neutral, but its one of the two)
 
Level 7
Joined
Dec 17, 2005
Messages
337
also you could copy dota's arrow from the potm and make a target ground spell, make it so that when you target that spell on the ground, create a dummy unit named ''arrow'' with a small permanent immolation, and that whenever it runs next to a unit it kills itself. Make sure to modify triggers so that it actually hits the enemy before it kills itself. Im not exactly sure how this works and the other ideas work fine but i'm just offering suggestions
 
Level 27
Joined
Feb 22, 2006
Messages
3,052
I do way too much of this...
Code:
Move Arrows
    Events
        Time - Every 0.05 seconds of game time
    Conditions
    Actions
        Set PreskoolGroup = (Units of type Arrow D-Unit)
        Unit Group - Pick every unit in PreskoolGroup and do (Actions)
            Loop - Actions
                Set Arrow = (Picked unit)
                Set PreskoolDudeRox = (Position of Arrow)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Terrain type at PreskoolDudeRox) Equal to Underground - Lava
                    Then - Actions
                        Unit - Move Arrow instantly to (PreskoolDudeRox offset by 80.00 towards (Facing of Arrow) degrees)
                    Else - Actions
                        Unit - Remove Arrow from the game
                Set JoinClanTMF = (Units within 200.00 of PreskoolDudeRox matching (((Matching unit) belongs to an enemy of (Owner of Arrow)) Equal to True))
                Custom script:   call RemoveLocation(udg_PreskoolDudeRox)
                Unit Group - Pick every unit in JoinClanTMF and do (Actions)
                    Loop - Actions
                        Set PreskoolDudeRox = (Position of (Picked unit))
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                And - All (Conditions) are true
                                    Conditions
                                        (Custom value of (Picked unit)) Not equal to 1
                                        ((Picked unit) is alive) Equal to True
                                        (Unit-type of (Picked unit)) Not equal to Flag
                                        (Terrain type at PreskoolDudeRox) Equal to Underground - Lava
                            Then - Actions
                                Unit - Cause Unit[(Player number of (Owner of Arrow))] to damage (Picked unit), dealing 100.00 damage of attack type Chaos and damage type Normal
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        (Picked unit) Not equal to No unit
                                    Then - Actions
                                        Unit - Remove Arrow from the game
                                    Else - Actions
                                        Do nothing
                            Else - Actions
                                Unit - Remove Arrow from the game
                                Set PreskoolHelp = (Position of Unit[(Player number of (Owner of Arrow))])
                                Unit - Create 1 Arrow D-Unit for (Owner of (Picked unit)) at PreskoolDudeRox facing (Angle from Danger_Point to PreskoolHelp) degrees
                                Custom script:   call RemoveLocation(udg_PreskoolDudeRox)
                                Custom script:   call RemoveLocation(udg_PreskoolHelp)
Don't mind the weird antileak vars... A friend helped me with this. And whenever it says Unit, that's a unit variable with an index of 12.
--donut3.5--
 
Status
Not open for further replies.
Top