Okay, there are eight bosses that spawn @ different game intervals.
There are eight possible spawn regions, (setup in an array)
When a boss (titan) spawns it must spawn in a random region but, cannot spawn in a region that has already been "used" that game, (A region where a boss has spawned previously)
So, when a region is used it must be taken out of the array,
So by the end of the game all eight regions have been "used" but none of them used twice and the order thier used in MUST be random.
Here are the triggers im using:
Setting vars:
Titan Setup
Events Conditions Actions
Set Random_TitanCount = 8 For each (Integer A) from 1 to 8, do (Actions)
Loop - Actions
Set Random_Region[(Integer A)] = (Integer A)
Set TitanSpawnRegion[1] = TitanSpawn1 <gen> Set TitanSpawnRegion[2] = TitanSpawn2 <gen> Set TitanSpawnRegion[3] = TitanSpawn3 <gen> Set TitanSpawnRegion[4] = TitanSpawn4 <gen> Set TitanSpawnRegion[5] = TitanSpawn5 <gen> Set TitanSpawnRegion[6] = TitanSpawn6 <gen> Set TitanSpawnRegion[7] = TitanSpawn7 <gen> Set TitanSpawnRegion[8] = TitanSpawn8 <gen> Set TitanType[1] = Centaur (Level 1 Titan) Set TitanType[2] = Harpy (Level 2 Titan) Set TitanType[3] = Gorgan (Level 3 Titan) Set TitanType[4] = Minotaur (Level 4 Titan) Set TitanType[5] = Guardian (Level 5 Titan) Set TitanType[6] = Underworld Overseer (Level 6 Titan) Set TitanType[7] = Overlord (Level 7 Titan) Set TitanType[8] = Hydra (Level 8 Titan)
CREATING THE TITANS:
Titan Creation
Events Conditions Actions
Set TitanRegionCount = (Random integer number between 1 and Random_TitanCount) Game - Display to (All players) the text: (Titan Region Count = + (String(TitanRegionCount))) For each (Integer TitanCreationInteger) from 1 to 8, do (Actions)
Loop - Actions
Set TitanCinPoint = (Center of TitanSpawnRegion[TitanCreationInteger]) Cinematic - Ping minimap for (All players) at TitanCinPoint for 4.50 seconds, using a Flashy ping of color (30.00%, 100.00%, 30.00%) Custom script: call RemoveLocation(udg_TitanCinPoint)
-------- CREATE TITAN -------- Set TitanCinPoint = (Center of TitanSpawnRegion[Random_Region[TitanRegionCount]]) Special Effect - Create a special effect at TitanCinPoint using Abilities\Spells\Human\MassTeleport\MassTeleportTo.mdl Set TitanSpawnEffect[1] = (Last created special effect) Custom script: call RemoveLocation(udg_TitanCinPoint) Wait 2.50 seconds Special Effect - Destroy TitanSpawnEffect[1] Set TitanCinPoint = (Center of TitanSpawnRegion[Random_Region[TitanRegionCount]]) Unit - Create 1 TitanType[TitanLevel] for Player 9 (Gray) at TitanCinPoint facing 270.00 degrees Custom script: call RemoveLocation(udg_TitanCinPoint) Game - Display to (All players) the text: (RandomRegion[TitanRegionCount] = + (String(Random_Region[TitanRegionCount]))) Set CurrentTitan[TitanLevel] = (Last created unit) Unit - Set the custom value of CurrentTitan[TitanLevel] to TitanLevel -------- MUST REMEMBER REGION TITAN SPAWNS IN -------- -------- TITAN FACING -------- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Random_Region[TitanRegionCount] Equal to 2 Random_Region[TitanRegionCount] Equal to 5 Random_Region[TitanRegionCount] Equal to 7
Then - Actions
Unit - Make CurrentTitan[TitanLevel] face 0.00 over 0.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Random_Region[TitanRegionCount] Equal to 3 Random_Region[TitanRegionCount] Equal to 4
Then - Actions
Unit - Make CurrentTitan[TitanLevel] face 90.00 over 0.00 seconds
Else - Actions
Do nothing
Set Random_Region[TitanRegionCount] = Random_TitanCount Game - Display to (All players) the text: (Random Titan Count= + (String(Random_TitanCount))) Game - Display to (All players) the text: (RandomRegion[TitanRegionCount] = + (String(Random_Region[TitanRegionCount]))) Set Random_TitanCount = (Random_TitanCount - 1) Game - Display to (All players) the text: (Random Titan Count-1 = + (String(Random_TitanCount))) Unit - Change color of CurrentTitan[TitanLevel] to Dark Green Hero - Set CurrentTitan[TitanLevel] Hero-level to (TitanLevel + 5), Show level-up graphics Hero - Disable experience gain for CurrentTitan[TitanLevel] If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
GameDifficultyMode Equal to 2
Then - Actions
Unit - Add Titan Armor Bonus (Titans 2v2 Armour Bonus) to CurrentTitan[TitanLevel] Unit - Add Titan Mana Bonus (+125 Titans 2v2) to CurrentTitan[TitanLevel] Unit - Add Titan Life Bonus (+350 Titans 2v2) to CurrentTitan[TitanLevel]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
GameDifficultyMode Equal to 3
Then - Actions
Unit - Add Titan Armor Bonus (Titans 3v3 Armour Bonus) to CurrentTitan[TitanLevel] Unit - Add Titan Mana Bonus (+250 Titans 3v3) to CurrentTitan[TitanLevel] Unit - Add Titan Life Bonus (+550 Titans 3v3) to CurrentTitan[TitanLevel]
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
GameDifficultyMode Equal to 4
Then - Actions
Unit - Add Titan Armor Bonus (Titans 4v4 Armour Bonus) to CurrentTitan[TitanLevel] Unit - Add Titan Life Bonus (+750 Titans 4v4) to CurrentTitan[TitanLevel] Unit - Add Titan Mana Bonus (+375 Titans 4v4) to CurrentTitan[TitanLevel]
Else - Actions
Do nothing
Here is a screenshot of the in-game log (ive inserted text commands to help debug it)
As you can see, Charon +erinyes spawn in the same loc in this examaple, so does Scyla + Minos,