• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Unit spawn issues (TD)

Status
Not open for further replies.
Level 5
Joined
Jan 23, 2020
Messages
86
In my TD I have waves. They consist of Normal, 2X spawn, Special (1 additional "mini-boss" unit within a normal wave with aura), Boss, Bonus.

Certain waves do no spawn (Bonus) / inconsistently spawn (Special). What am I doing wrong? Is there an optimal way to do this?

Below are the triggers associated with my spawning system, let me know if you need to see more triggers:

Setting unit array:
  • Setup Monster Types
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set VariableSet monstertype_Normal[1] = Murloc Hunter
      • Set VariableSet monstertype_Normal[2] = Crab lvl 2
      • Set VariableSet monstertype_Normal[3] = Voodoo Priest lvl 3
      • Set VariableSet monstertype_Normal[4] = Sand Wyrm lvl 4
      • Set VariableSet monstertype_Boss[5] = Temple Ghoul lvl 5
      • Set VariableSet monstertype_Normal[6] = Voodoo Wraith lvl 6
      • Set VariableSet monstertype_Normal[7] = Battle Alien lvl 7
      • Set VariableSet monstertype_Double[8] = Deathly Crawler lvl 8
      • Set VariableSet monstertype_Normal[9] = Wanderer lvl 9
      • Set VariableSet monstertype_Normal[10] = Goblin Robot Prototype lvl 10
      • Set VariableSet monstertype_Normal[11] = Tribal Battle Beast lvl 11
      • Set VariableSet monstertype_Normal[12] = Dark Monk lvl 12
      • Set VariableSet monstertype_Double[13] = Night Emerger lvl 13
      • Set VariableSet monstertype_Normal[14] = Brute Ogre lvl 14
      • Set VariableSet monstertype_Boss[15] = Death Minister lvl 15
      • Set VariableSet monstertype_Normal[16] = Helicopter lvl 16
      • Set VariableSet monstertype_Normal[17] = Artillary Machine lvl 17
      • Set VariableSet monstertype_Normal[18] = Chieftain lvl 18
      • Set VariableSet monstertype_Special[18] = Chieftain lvl 18 special
      • Set VariableSet monstertype_Normal[19] = Huntress lvl 19
      • Set VariableSet monstertype_Normal[20] = Evil Spirit lvl 20
      • Set VariableSet monstertype_Normal[21] = Pain Maiden lvl 21
      • Set VariableSet monstertype_Normal[22] = Rock Giant lvl 22
      • Set VariableSet monstertype_Normal[23] = Ocean Demon lvl 23
      • Set VariableSet monstertype_Double[24] = Spider Deamon lvl 24
      • Set VariableSet monstertype_Boss[25] = Blood Reaver lvl 25
      • Set VariableSet monstertype_Normal[26] = Gryphon Ryder lvl 26
      • Set VariableSet monstertype_Normal[27] = White Beast lvl 27
      • Set VariableSet monstertype_Special[27] = White Beast lvl 27 special
      • Set VariableSet monstertype_Normal[28] = Water Elemental lvl 28
      • Set VariableSet monstertype_Normal[29] = Armored Ravager lvl 29
      • Set VariableSet monstertype_Bonus[30] = Golden Coin - BONUS lvl 30
      • Set VariableSet monstertype_Normal[31] = Masked Ripper lvl 31
      • Set VariableSet monstertype_Special[31] = Masked Ripper lvl 31 special
      • Set VariableSet monstertype_Normal[32] = Undead Wizard lvl 32
      • Set VariableSet monstertype_Normal[33] = Toxic Manifestation lvl 33
      • Set VariableSet monstertype_Special[33] = Toxic Manifestation lvl 33 special
      • Set VariableSet monstertype_Normal[34] = Shadow Reaper lvl 34
      • Set VariableSet monstertype_Boss[35] = Minotaur Warrior lvl 35
      • Set VariableSet monstertype_Normal[36] = Wyvren lvl 36
      • Set VariableSet monstertype_Normal[37] = Troll Batrider lvl 37
      • Set VariableSet monstertype_Normal[38] = Wind Rider lvl 38
      • Set VariableSet monstertype_Normal[39] = Spirit Wraith lvl 39
      • Set VariableSet monstertype_Normal[40] = Nether Dragon lvl 40
      • Set VariableSet monstertype_Normal[41] = Centaur Drudge lvl 41
      • Set VariableSet monstertype_Double[42] = Infernal lvl 42
      • Set VariableSet monstertype_Normal[43] = Ice Giant lvl 43
      • Set VariableSet monstertype_Normal[44] = Mammoth lvl 44
      • Set VariableSet monstertype_Boss[45] = Horseman lvl 45
      • Set VariableSet monstertype_Normal[46] = Spider lvl 46
      • Set VariableSet monstertype_Normal[47] = Infernal Juggernaught lvl 47
      • Set VariableSet monstertype_Normal[48] = Harpy lvl 48
      • Set VariableSet monstertype_Bonus[49] = Golden Coin - BONUS lvl 49
      • Set VariableSet monstertype_Normal[50] = Ocean Deamon lvl 50
      • Set VariableSet monstertype_Boss[51] = Troll Beserker lvl 51
      • Set VariableSet monstertype_Boss[52] = War Commander lvl 52
      • Set VariableSet monstertype_Boss[53] = Far Seer lvl 53
      • Set VariableSet monstertype_Boss[54] = Pit Lord lvl 54
      • Set VariableSet monstertype_Boss[55] = Blood Mage lvl 55
      • Set VariableSet monstertype_Boss[56] = Leader of the Marauders lvl 56
      • Set VariableSet monstertype_Boss[57] = Death Pheonix lvl Final

Level setup:
  • Levels Player RED1
    • Events
      • Time - WaveTimer[1] expires
    • Conditions
    • Actions
      • Set VariableSet Level_Number[1] = (Level_Number[1] + 1)
      • Player - Add (5 x Level_Number[1]) to Player 1 (Red).Current gold
      • Game - Display to Player Group - Player 1 (Red) for 15.00 seconds the text: (Round bonus: |cffffff00 + ((String((5 x Level_Number[1]))) + Gold|r))
      • Multiboard - Set the text for (Last created multiboard) item in column 3, row List to (String(Level_Number[(Player number of Player 1 (Red))]))
      • Sound - Play QuestNew <gen>
      • Game - Display to Player Group - Player 1 (Red) for 8.00 seconds the text: LevelText[Level_Number[1]]
      • Wait 1.00 seconds
      • Set VariableSet RoundOver[1] = False

Spawning:
  • Spawning
    • Events
      • Time - Every 1.50 seconds of game time
    • Conditions
    • Actions
      • Player Group - Pick every player in HumanPlayers and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • And - All (Conditions) are true
                • Conditions
                  • RoundOver[(Player number of (Picked player))] Equal to False
                  • Players_Active[(Player number of (Picked player))] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • And - All (Conditions) are true
                    • Conditions
                      • Level_Number[(Player number of (Picked player))] Not equal to 5
                      • Level_Number[(Player number of (Picked player))] Not equal to 8
                      • Level_Number[(Player number of (Picked player))] Not equal to 13
                      • Level_Number[(Player number of (Picked player))] Not equal to 15
                      • Level_Number[(Player number of (Picked player))] Not equal to 24
                      • Level_Number[(Player number of (Picked player))] Not equal to 25
                      • Level_Number[(Player number of (Picked player))] Not equal to 30
                      • Level_Number[(Player number of (Picked player))] Not equal to 35
                      • Level_Number[(Player number of (Picked player))] Not equal to 42
                      • Level_Number[(Player number of (Picked player))] Not equal to 45
                      • Level_Number[(Player number of (Picked player))] Not equal to 49
                      • Level_Number[(Player number of (Picked player))] Not equal to 51
                      • Level_Number[(Player number of (Picked player))] Not equal to 52
                      • Level_Number[(Player number of (Picked player))] Not equal to 53
                      • Level_Number[(Player number of (Picked player))] Not equal to 54
                      • Level_Number[(Player number of (Picked player))] Not equal to 55
                      • Level_Number[(Player number of (Picked player))] Not equal to 56
                • Then - Actions
                  • -------- SPECIAL --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Equal to 0
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 18
                              • Level_Number[(Player number of (Picked player))] Equal to 27
                              • Level_Number[(Player number of (Picked player))] Equal to 31
                              • Level_Number[(Player number of (Picked player))] Equal to 33
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Special[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- BONUS --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Greater than 5
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 30
                              • Level_Number[(Player number of (Picked player))] Equal to 49
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Bonus[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- X2 SPAWN --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Greater than 10
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 8
                              • Level_Number[(Player number of (Picked player))] Equal to 13
                              • Level_Number[(Player number of (Picked player))] Equal to 24
                              • Level_Number[(Player number of (Picked player))] Equal to 42
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 2 monstertype_Double[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- NORMAL --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • SpawnCounter[(Player number of (Picked player))] Greater than 20
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Normal[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • -------- BOSS --------
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                        • Then - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • SpawnCounter[(Player number of (Picked player))] Equal to 1
                            • Then - Actions
                              • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                              • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                            • Else - Actions
                        • Else - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Boss[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
            • Else - Actions

Round end/restart:
  • UnitDies
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Owner of (Triggering unit)) Equal to Player 12 (Brown)
    • Actions
      • Player Group - Pick every player in HumanPlayers and do (Actions)
        • Loop - Actions
          • Unit Group - Remove (Triggering unit) from TotalCreeps[(Player number of (Picked player))].
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Number of units in TotalCreeps[(Player number of (Picked player))]) Equal to 0
              • RoundOver[(Player number of (Picked player))] Equal to True
            • Then - Actions
              • Countdown Timer - Start WaveTimer[(Player number of (Picked player))] as a One-shot timer that will expire in 6.00 seconds
            • Else - Actions

Thanks!
 
Last edited:
Level 5
Joined
Jan 23, 2020
Messages
86
I finally got it working with this:

  • Spawning
    • Events
      • Time - Every 1.50 seconds of game time
    • Conditions
    • Actions
      • Player Group - Pick every player in HumanPlayers and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RoundOver[(Player number of (Picked player))] Equal to False
              • Players_Active[(Player number of (Picked player))] Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                • Then - Actions
                  • -------- X2 SPAWN --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Greater than 10
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 8
                              • Level_Number[(Player number of (Picked player))] Equal to 13
                              • Level_Number[(Player number of (Picked player))] Equal to 24
                              • Level_Number[(Player number of (Picked player))] Equal to 42
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 2 monstertype_Double[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Game - Display to Player Group - Player 1 (Red) for 15.00 seconds the text: test: x2 spawn
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- SPECIAL --------
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Equal to 0
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 18
                              • Level_Number[(Player number of (Picked player))] Equal to 27
                              • Level_Number[(Player number of (Picked player))] Equal to 31
                              • Level_Number[(Player number of (Picked player))] Equal to 33
                    • Then - Actions
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Special[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Game - Display to Player Group - Player 1 (Red) for 15.00 seconds the text: test: special
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- BONUS --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Greater than 5
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 30
                              • Level_Number[(Player number of (Picked player))] Equal to 49
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Bonus[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Game - Display to Player Group - Player 1 (Red) for 15.00 seconds the text: test: bonus
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- NORMAL --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Greater than 10
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Not equal to 5
                              • Level_Number[(Player number of (Picked player))] Not equal to 8
                              • Level_Number[(Player number of (Picked player))] Not equal to 13
                              • Level_Number[(Player number of (Picked player))] Not equal to 15
                              • Level_Number[(Player number of (Picked player))] Not equal to 24
                              • Level_Number[(Player number of (Picked player))] Not equal to 25
                              • Level_Number[(Player number of (Picked player))] Not equal to 30
                              • Level_Number[(Player number of (Picked player))] Not equal to 35
                              • Level_Number[(Player number of (Picked player))] Not equal to 42
                              • Level_Number[(Player number of (Picked player))] Not equal to 45
                              • Level_Number[(Player number of (Picked player))] Not equal to 49
                              • Level_Number[(Player number of (Picked player))] Not equal to 51
                              • Level_Number[(Player number of (Picked player))] Not equal to 52
                              • Level_Number[(Player number of (Picked player))] Not equal to 53
                              • Level_Number[(Player number of (Picked player))] Not equal to 54
                              • Level_Number[(Player number of (Picked player))] Not equal to 55
                              • Level_Number[(Player number of (Picked player))] Not equal to 56
                              • Level_Number[(Player number of (Picked player))] Not equal to 57
                              • Level_Number[(Player number of (Picked player))] Not equal to 58
                      • SpawnCounter[(Player number of (Picked player))] Greater than 2
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Normal[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Game - Display to Player Group - Player 1 (Red) for 15.00 seconds the text: test: normal
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                  • -------- BOSS --------
                  • Set VariableSet SpawnCounter[(Player number of (Picked player))] = (SpawnCounter[(Player number of (Picked player))] + 1)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • And - All (Conditions) are true
                        • Conditions
                          • SpawnCounter[(Player number of (Picked player))] Greater than 1
                          • Or - Any (Conditions) are true
                            • Conditions
                              • Level_Number[(Player number of (Picked player))] Equal to 5
                              • Level_Number[(Player number of (Picked player))] Equal to 10
                              • Level_Number[(Player number of (Picked player))] Equal to 15
                              • Level_Number[(Player number of (Picked player))] Equal to 25
                    • Then - Actions
                      • Set VariableSet SpawnCounter[(Player number of (Picked player))] = 0
                      • Set VariableSet RoundOver[(Player number of (Picked player))] = True
                    • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                    • Then - Actions
                      • Set VariableSet TempPoint = (Center of spawn_areas[(Player number of (Picked player))])
                      • Unit - Create 1 monstertype_Boss[Level_Number[(Player number of (Picked player))]] for Player 12 (Brown) at TempPoint facing (Center of (Playable map area))
                      • Unit Group - Add (Last created unit) to TotalCreeps[(Player number of (Picked player))]
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Game - Display to Player Group - Player 1 (Red) for 15.00 seconds the text: test: boss
                      • Special Effect - Create a special effect attached to the overhead of (Last created unit) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
                      • Special Effect - Destroy (Last created special effect)
                    • Else - Actions
                • Else - Actions
            • Else - Actions

But if there is a way to improve/optimize it, I'm all ears!
 
Status
Not open for further replies.
Top