Create Random Hero

Cheesy

some fucker
Reaction score
95
It's been a few years since I've toyed with the editor, and I thought I'd get back into it, but I have run into my first problem.

I'm making a silly simple little game in which each player is given a random hero from each of the four standard races, and must defend against waves and waves of creeps. How exactly do I go about picking the random hero to spawn?

I would imagine that it would be something like:
Code:
Events
-Map Initialization
Actions
-Pick Every Player in (All Players) and do:
-Create (Random Unit) from (Heroes) at (Picked Player)'s (Starting Location)

I'm not sure how to execute that, though.
 

Cheddar

This is the way it was meant to be.
Reaction score
126
Heroes should a unit-type variable array. During initialization, set up four variables like so:

HeroesH[1] = Archmage
HeroesH[2] = Mountain King
HeroesH[3] = Paladin
HeroesH[4] = Blood Mage
HeroesO[1] = Blademaster
HeroesO[2] = Far Seer
HeroesO[3] = Tauren Chieftan
HeroesO[4] = Shadow Hunter
HeroesNE[1] = Demon Hunter
HeroesNE[2] = Keeper of the Grove
HeroesNE[3] = Priestess of the Moon
HeroesNE[4] = Warden
HeroesU[1] = Lich
HeroesU[2] = Death Knight
HeroesU[3] = Dreadlord
HeroesU[4] = Crypt Lord



Then pretty much do what you did, except four actions; one for each race.
 

Cheesy

some fucker
Reaction score
95
Couldn't I just include them all in one unit type array?

Otherwise I'd have to pick a race for each player, wouldn't I?
 

tommerbob

Minecraft. :D
Reaction score
110
Well if you want the players to get a hero only from their own race, then you would need 4 arrays, otherwise yes just 1 array would work.
 

Cheesy

some fucker
Reaction score
95
Alright, thanks for the quick responses, guys.

Edit:

Just ran into another issue. I am getting the same hero no matter how many times I play the game, or restart the game.

Here is my trigger:

Trigger:
  • Create Heroes
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set Heroes[0] = Paladin
      • Set Heroes[1] = Archmage
      • Set Heroes[2] = Mountain King
      • Set Heroes[3] = Blood Mage
      • Set Heroes[4] = Keeper of the Grove
      • Set Heroes[5] = Priestess of the Moon
      • Set Heroes[6] = Demon Hunter
      • Set Heroes[7] = Warden
      • Set Heroes[8] = Blademaster
      • Set Heroes[9] = Far Seer
      • Set Heroes[10] = Tauren Chieftain
      • Set Heroes[11] = Shadow Hunter
      • Set Heroes[12] = Death Knight
      • Set Heroes[13] = Lich
      • Set Heroes[14] = Dreadlord
      • Set Heroes[15] = Crypt Lord
      • Player Group - Pick every player in (All players) and do (Actions)
        • Loop - Actions
          • Unit - Create 1 Heroes[(Random integer number between 0 and 15)] for (Picked player) at ((Picked player) start location) facing Default building facing degrees
 

Cheddar

This is the way it was meant to be.
Reaction score
126
You have to toggle "Use fixed random seed" off.

File > Preferences > Test Map. There should be a tab there.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
if you want each player to have an individual hero, no players getting the same hero, the array aint the best way though, in that case i would suggest preplacing all the heroes and adding them to a unit group.
for each hero you can pick a "random unit from unit group" and thence remove that unit from the group so no 2 players could get the same one.
 

tommerbob

Minecraft. :D
Reaction score
110
if you want each player to have an individual hero, no players getting the same hero, the array aint the best way though, in that case i would suggest preplacing all the heroes and adding them to a unit group.
for each hero you can pick a "random unit from unit group" and thence remove that unit from the group so no 2 players could get the same one.

Agreed. And I think this would actually be alot easier anyway. It saves time for you.
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
and its preloading the heroes, however loading time will be bigger and not choosen heroes would need to be removed.
 

Cheesy

some fucker
Reaction score
95
Thanks for the alternative, I was thinking about that issue, and that helps a lot. Thanks. :)
 
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