Maul - AoE Provoking Attacks.

Derek0

New Member
Reaction score
1
I just started a maul, and I'm already stuck. I have one element already done, except for one problem. One of the towers (the best one, in fact) uses a really powerful form of Rain of Fire. The problem is, whenever I build it and it attacks, it provokes the creeps to attack all of my towers.
I read in your TD Tutorial that splash damage & stun effects will provoke attacks, but it only tells me what to do about stun.

My trigger for casting Rain of Fire is pretty basic:
Code:
Rain of Fire
    Events
        Unit - A unit Is attacked
    Conditions
        (Unit-type of (Attacking unit)) Equal to Rain of Fire
    Actions
        Unit - Order (Attacking unit) to Neutral Pit Lord - Rain Of Fire (Position of (Attacked unit))

That part works fine, I just thought I would include it incase anyone asks.

Anyway, my main problem is that all my towers get attacked whenever this tower attacks (and casts Rain of Fire).

Thanks in advace.
Derek0

P.S. Also, Is there any way to make rain of fire keep going in one spot if it's cast again in another? Like the cooldown is shorter than the duration, and when it's cast again, the first one doesn't stop? Just wondering.
 
F

Furion

Guest
For the Multi-Casting Rain of Fire, use a Loop

Code:
For each [Integer A]from 1 to (Number of times) do actions
    Loop actions
        Unit - Order (Attacking unit) to Neutral Pit Lord - Rain Of Fire (Position of (Attacked unit))
        Wait-(The casting time)

Hope this helped :D
 

Derek0

New Member
Reaction score
1
Furion said:
For the Multi-Casting Rain of Fire, use a Loop

Code:
For each [Integer A]from 1 to (Number of times) do actions
    Loop actions
        Unit - Order (Attacking unit) to Neutral Pit Lord - Rain Of Fire (Position of (Attacked unit))
        Wait-(The casting time)

Hope this helped :D


Actually that would do almost the same thing as I have now, because the casting time is just a little less than the attack cooldown, so, because of my trigger, it casts on each attack.
The problem is, when Rain of Fire is cast, the old rain of fire stops raining fire, and it starts on the new spot. I was wondering if there was any way I could set it to keep the old raining fire and add the new one at the position of the unit, so there would be multiple Rain of Fires falling in different spots. I still want them to stop after 6 waves, but I don't want one to stop when another is cast in a different spot.

And that doesn't help my main problem, where whenever they get hit by any Rain of Fire, they attack all my towers. I really need to fix that.
 
F

Furion

Guest
Trigger it! :D

Code:
Set Target_Point=Position of attacked unit
For each [Integer A] from 1 to the (Number of waves total) do actions
    Loop actions
        For each [Integer B] from 1 to (the number of meteors) do actions
            Loop actions
                Special effect-Create 1 Meteor Rain at Target_Point offset by 200 towards [Integer B] x 360/(number of meteors)
        Unit Group-Pick every unit within 500 from Target_Point and do actions
            Unit-Set the life of picked unit to life of picked unit-(damage)

Target_Point is a point variable and i dont fix any Memory Leaks
 

Derek0

New Member
Reaction score
1
Hmm, I'll try that.
But does anyone know what to do about my main problem? (read the first post)
 

Derek0

New Member
Reaction score
1
Oh I see lol thanks I thought you were talking about having the multiple ones.
Let me try that now, it should work.

Thanks alot. :)
 

Derek0

New Member
Reaction score
1
Don't I have to put a wait in there between waves?

EDIT: Yeah, I needed a wait. Also, I needed to put a bounty action in there so you would still get gold. I also couldn't find the Meteor Rain so I had to use Infernal.
 
F

Furion

Guest
Wait's between the waves, a bounty action and the Meteors are under Buff's
 

Derek0

New Member
Reaction score
1
Ok, now i'm getting confused. Here's my trigger code:

Code:
Rain of Fire
    Events
        Unit - A unit Is attacked
    Conditions
        (Unit-type of (Attacking unit)) Equal to Rain of Fire
    Actions
        -------- 6 Waves --------
        For each (Integer A) from 1 to 6, do (Actions)
            Loop - Actions
                -------- 10 shards per wave, randomly placed --------
                For each (Integer B) from 1 to 10, do (Actions)
                    Loop - Actions
                        Special Effect - Create a special effect at ((Position of (Attacked unit)) offset by ((Random real number between -200.00 and 200.00), (Random real number between -200.00 and 200.00))) using Abilities\Spells\Demon\RainOfFire\RainOfFireTarget.mdl
                -------- Wait for the shards to hit the ground --------
                Wait 1.00 game-time seconds
                -------- Pick every unit in the shards area --------
                Unit Group - Pick every unit in (Units in (Region centered at (Position of (Attacked unit)) with size (400.00, 400.00)) owned by Player 12 (Brown)) and do (Actions)
                    Loop - Actions
                        -------- Do the damage --------
                        Unit - Set life of (Picked unit) to ((Life of (Picked unit)) - 150.00)
                        -------- Check for death --------
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                ((Picked unit) is dead) Equal to True
                                (Custom value of (Picked unit)) Not equal to 1234
                            Then - Actions
                                -------- Add the bounty --------
                                Player - Add (Point-value of (Picked unit)) to (Owner of (Attacking unit)) Current gold
                                -------- Do the bounty text --------
                                Floating Text - Create floating text that reads (+ + (String((Point-value of (Picked unit))))) at (Position of (Picked unit)) with Z offset 50.00, using font size 10.00, color (78.00%, 90.00%, 8.00%), and 0.00% transparency
                                Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
                                Floating Text - Change (Last created floating text): Disable permanence
                                Floating Text - Change the lifespan of (Last created floating text) to 2.00 seconds
                                -------- Mark the unit so it will not give more bounty in the next wave --------
                                Unit - Set the custom value of (Picked unit) to 1234
                            Else - Actions
As you can see from the comments, there are 6 waves of shards, each with 10 shards. It puts a 1 seccond pause between waves, for the shards to hit the ground. Then, it damages every unit under the shards, gives the bounty, then marks the unit so the next wave wont re-give the bounty.

Here is my problem: some of the units in my maul don't leave corpses, and are gone when they die. So half of my waves try to target a missing unit, so they rain in the center of the map. I tried setting all my units to "Does decay", but it didn't help. I also turned up the decay time in Gameplay Constants, but with no avail. I would store the positions in variables, but there can be multiple rains of fire at once, from multiple towers, so the varible would get confused. I could set an array, but then I could only support a limited number on towers. What should I do?

EDIT: Is there a way to set a temporary variable unique to a session of a trigger? Like, it's only for that time the trigger runs.
 
F

Furion

Guest
A simpler way to do the bounty version, and it would probably fix the tigger, is to add the attacked units to a unit group then after 1 second, you remove them (you dont want the there forever, do you :) )

Trigger 1

Code:
Unit - Add picked unit to Unit_Group
Wait 1 second :confused: 
Unit - Remove picked unit from Unit_Group

Trigger 2

Code:
A unit dies
Dying unit is in Unit_Group equal to true
(Then add your bounty function)

I think the problem is this:
Code:
Condition - Picked unit is dead equal to true

Im not sure but i think... :)
 
G

gwingetinkoq

Guest
just make your tower invulnerable :lol:
or you can use my trigger for my td

event-a unit is attacking
condition - attacking unit is equal to structure
action - order attackting unit to neutral hostile(rain of fire)attacked unit.
try it
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top