Generating random names for summoned units

Lumograph090

New Member
Reaction score
22
I'm wondering if it is possible to generate random names for normal units. Example in WoW Death Knights can summon Ghouls - if you are spec'd into Unholy you can make your Ghoul a permanent pet at which point they are given randomly generated names.

Ranging from Braintheif, Bonegobbler, etc.

I'm nearly 100% positive this would be literally impossible given that normal units do not have names in the sense that heroes do. However, I would imagine that if you created multiple units and just gave them different specific names that this could work.

My next question then would be, how do you make an ability summon a random unit but from a list of preset units?
 

eskashaborn

New Member
Reaction score
3
You are right about the fact you cannot just simply change the name of a ghoul (to use your example).

But your idea regarding a bunch of different units that are the same except for the name is a good one...

Here is an example trigger that should work.

Note: I did not make custom units...(i was too lazy), but the unit used does not matter!

Trigger:
  • Random Pet
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Summon Bear
    • Actions
      • Set Randomizer = (Random integer number between 1 and 10)
      • -------- Now you do the if statements for your randomization --------
      • If (Randomizer Equal to 1) then do (Unit - Create 1 Footman for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 2) then do (Unit - Create 1 Knight for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 3) then do (Unit - Create 1 Rifleman for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 4) then do (Unit - Create 1 Peasant for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 5) then do (Unit - Create 1 Mortar Team for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 6) then do (Unit - Create 1 Flying Machine for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 7) then do (Unit - Create 1 Gryphon Rider for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 8) then do (Unit - Create 1 Priest for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 9) then do (Unit - Create 1 Sorceress for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)
      • If (Randomizer Equal to 10) then do (Unit - Create 1 Siege Engine for Player 1 (Red) at (Position of (Casting unit)) facing 270.00 degrees) else do (Do nothing)



Basically what this trigger does is respond to an ability being cast
Once it finishes it assigns a random value to a variable between 1 and 10 (you can change all of this). If the variable = 1 a footman would be created. If the variable = 2 a different unit.

These units could easily be custom units named bonemuncher and stonecruncher.

Hope this helps...
 

Lumograph090

New Member
Reaction score
22
Trigger:
  • Set Randomizer = (Random integer number between 1 and 10)


What type of variable would "Randomize" be in this case? Real or Integer?

=( I only recently got back into mapping, just trying to refresh the ol' noggin =0
 

eskashaborn

New Member
Reaction score
3
I set it to integer!

It seems to work very well as an integer.
I have used a similar randomizer before and it was an integer and it worked fine.
 

Lumograph090

New Member
Reaction score
22
Its a real

Trigger:
  • Raise Ghoul
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to (==) Raise Ghoul
    • Actions
      • Set RandomName = (Random real number between 1.00 and 3.00)
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
          • Then - Actions
          • Else - Actions


However, its been so damn long I forget where to go from here :p

*edit* O, you used an Integer hmm if I set my variable to an Integer it doesnt give me the option of choosing "Math - Random Number"

*double edit* Never mind, Integer does give "Math - Random Number" I'm just blind. After I set my Variable would my next Action be an If/Then/Else statement?

*C-C-Combo Edit*

Trigger:
  • Raise Ghoul
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to (==) Raise Ghoul
    • Actions
      • Set RandomName = (Random integer number between 1 and 3)
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • RandomName Equal to (==) 1
          • Then - Actions
            • Unit - Create 1 Horgus the Ravager (Level 1) for (Owner of (Triggering unit)) at (Target point of ability being cast) facing (Position of (Triggering unit))
          • Else - Actions
            • Do nothing
              • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • RandomName Equal to (==) 2
                • Then - Actions
                  • Unit - Create 1 Horgus the Ravager (Level 1) for (Owner of (Triggering unit)) at (Target point of ability being cast) facing (Position of (Triggering unit))
                • Else - Actions
                  • Do nothing
                    • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      • If - Conditions
                        • RandomName Equal to (==) 3
                      • Then - Actions
                        • Unit - Create 1 Horgus the Ravager (Level 1) for (Owner of (Triggering unit)) at (Target point of ability being cast) facing (Position of (Triggering unit))
                      • Else - Actions
                        • Do nothing


This would be a working Trigger then, no?
 

eskashaborn

New Member
Reaction score
3
Yeah...choose if/then/else
I just copied and pasted that 10 times and changed the unit type.

This seems a lot more complicated than it has to be...
I would just go with the if/then/else...but yeah that seems alright!
 

Lumograph090

New Member
Reaction score
22
Yeah...choose if/then/else
I just copied and pasted that 10 times and changed the unit type.

This seems a lot more complicated than it has to be...
I would just go with the if/then/else...but yeah that seems alright!

Well, I have to have it create the unit at the point of my ability since I'm basing it off of Carrion Beetles I want to have my unit spawn @ the used corpse. Regardless +Rep, thanks for the help.
 
General chit-chat
Help Users

      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