Snippet Get Unit In Range With Lowest HP

Tinki3

Special Member
Reaction score
418
This snippet groups a bunch of units within some range of some point.
It then works out which one of those units had the lowest HP.

Code:
Unit In Range With Lowest HP
    Actions
        Set TempReal = 9999999.00
        Set TempPoint = (Position of (<YOUR UNIT HERE>))
        Custom script:   set bj_wantDestroyGroup = true
        Unit Group - Pick every unit in (Units within 600.00 of TempPoint matching (((Matching unit) is alive) Equal to True)) and do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Life of (Picked unit)) Less than TempReal
                    Then - Actions
                        Set TempReal = (Life of (Picked unit))
                        Set UnitLowestHP = (Picked unit) [COLOR="Green"]//Refer to this unit outside the 'Loop - Actions' and after the Unit Group function[/COLOR]
                    Else - Actions
        Custom script:   call RemoveLocation(udg_TempPoint)
"UnitLowestHP" is the unit you'd want to refer back to in this case.
 

Sooda

Diversity enchants
Reaction score
318
TempReal value should be max value what you can input with shift + double click to unit max health in Object Editor. What happens when all units have max health ? 6 units with TempReal HP value ? Nice still.
 

Rheias

New Helper (I got over 2000 posts)
Reaction score
232
If units have equal amount of life it will return the first one that is checjed. In other words - a random one from those that have equal amount of health.
 

martix

There is no spoon
Reaction score
49
Considering such stats like life and mana are reals, the map would have to be remarkably undiverse for this to happen. Even a TD would have to a hard time achieving this. An RPG/AoS has virtually 0 chance of producing this.
 

elmstfreddie

The Finglonger
Reaction score
203
Maybe add in a version that does the opposite (most hp in range), since that could prove more useful... Or less... :p

Considering such stats like life and mana are reals, the map would have to be remarkably undiverse for this to happen. Even a TD would have to a hard time achieving this. An RPG/AoS has virtually 0 chance of producing this.

Wtf you talking about... If more than 1 unit has the same hp, then it will just remember the first unit it picked that has the same hp.
 

Sooda

Diversity enchants
Reaction score
318
> Wtf you talking about...

But it still picks "first" unit randomly when native is called. You can' t be sure what it picks first. Anyway I had idea where you pick unit and set it' s HP current HP what will be compared. If new unit' s HP is less than current picked unit' s HP replace unit with it and set it' s HP current HP. Gives same result.
 

Tinki3

Special Member
Reaction score
418
>What happens when all units have max health ?

Once the loop is done, It'll return the unit with the 'lowest' HP, wouldn't do anything else special, if that's what you wanted me to say.

For example, a Footman and a Knight are grouped, both with max-hp.
The footman will be the 'UnitLowestHP' unit, as it only has 420 HP max,
as to the Knight which has around 8 to 9 hundred.

Quite a simplistic question, with an odd essence about it..

My snippet is rather basic, but it does its job alright.

>Maybe add in a version that does the opposite

A whole nother version which just has TempReal set as 0.00, and..
(Life of (Picked unit)) Greater than TempReal?
Bit pointless :p

Hmm.
Just figured out that the group will also group dead units too.
Fixed that.
 

RedSword

New Member
Reaction score
4
I really like that snipped, since it is easy to understand and easy to do the opposite. Wow I love it, so simple and no one ever though about it... unless you =O
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top