• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Randoming Regions...

Status
Not open for further replies.
Level 9
Joined
Apr 28, 2006
Messages
187
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,

Any ideas?
 

Attachments

  • debugcodes.JPG
    debugcodes.JPG
    144.9 KB · Views: 216
Status
Not open for further replies.
Top