Help with Ability Forcing Unit to Attack Nearest Unit

LordSaddler1

New Member
Reaction score
4
Just as the title says. Here it is

Code:
Berserk Frenzy
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Berserk Frenzy 
    Actions
        Set Berserker_Frenzy_Killer = (Target unit of ability being cast)
        Set Berserk_Frenzy_Killer_Loc[1] = (Position of Berserker_Frenzy_Killer)
        Set BerserkFarDistance[1] = 10000
        Unit Group - Pick every unit in (Units within 1000.00 of Berserk_Frenzy_Killer_Loc[1]) and do (Actions)
            Loop - Actions
                Set Berserk_Frenzy_Killer_Loc[2] = (Position of (Picked unit))
                Set BerserkFarDistance[2] = (Integer((Distance between Berserk_Frenzy_Killer_Loc[1] and Berserk_Frenzy_Killer_Loc[2])))
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        BerserkFarDistance[2] Less than BerserkFarDistance[1]
                    Then - Actions
                        Set BerserkFarDistance[1] = BerserkFarDistance[2]
                        Set Berserk_Frenzy_Target = (Picked unit)
                    Else - Actions
                        Do nothing
        Unit - Order Berserker_Frenzy_Killer to Attack Berserk_Frenzy_Target
        Trigger - Turn on Berserk Frenzy Attack <gen>
        Wait 8.00 seconds
        Trigger - Turn off Berserk Frenzy Attack <gen>

Code:
Berserk Frenzy Attack
    Events
        Time - Every 1.00 seconds of game time
    Conditions
    Actions
        Unit - Order Berserker_Frenzy_Killer to Attack Berserk_Frenzy_Target
 

Zurtrogx

Active Member
Reaction score
24
How many units will have this ability?

Because, if more than one unit has this ability, I can see problems occuring because of the Wait part in the first trigger.
 

jig7c

Stop reading me...-statement
Reaction score
123
you have to maybe implement intergers in your triggers

in this section, i think...

For each integer(a) from 1 to (whoever many units you want attacking)
Unit Group - Pick every unit in (Units within 1000.00 of Berserk_Frenzy_Killer_Loc[1]) and do (Actions)
Loop - Actions
Set Berserk_Frenzy_Killer_Loc[2] = (Position of (Picked unit))
Set BerserkFarDistance[2] = (Integer((Distance between Berserk_Frenzy_Killer_Loc[1] and Berserk_Frenzy_Killer_Loc[2])))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
 

LordSaddler1

New Member
Reaction score
4
you have to maybe implement intergers in your triggers

in this section, i think...

For each integer(a) from 1 to (whoever many units you want attacking)
Unit Group - Pick every unit in (Units within 1000.00 of

I want one unit to attack THE NEAREST unit, where it is an ally or enemy. It isn't a taunt ability.

As for .3 seconds it doesnt make any difference because im testing it with computers and they aren't going to be telling themselves not to attack the nearest unit.
 

jig7c

Stop reading me...-statement
Reaction score
123
Try:
For each integer from A to 1000
Set Berserk_Frenzy_Killer_Loc2[A] = (Position of (Picked unit))
Set BerserkFarDistance2[A] = (Integer((Distance between Berserk_Frenzy_Killer_Loc2[A] and Berserk_Frenzy_Killer_Loc2[A])))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
BerserkFarDistance2[A] Less than BerserkFarDistance
Then - Actions
Set BerserkFarDistance = BerserkFarDistance2[A]
Set Berserk_Frenzy_Target = (Picked unit)
Else - Actions
Do nothing

notice new variables...
 

LordSaddler1

New Member
Reaction score
4
I tried that and it just made it not work at all. It used to make the unit just stand there, and when i cast it on my own unit I'd notice that whenever it got the order to attack, it instantly was given the order to stop.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top