Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Randoming Regions...

Discussion in 'Bug Reporting\Technical Issues' started by Steelb_l_ade, May 2, 2007.

  1. Steelb_l_ade

    Steelb_l_ade

    Joined:
    Apr 28, 2006
    Messages:
    188
    Resources:
    1
    Maps:
    1
    Resources:
    1
    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?
     

    Attached Files:

  2. DenZel94

    DenZel94

    Joined:
    Jun 4, 2006
    Messages:
    127
    Resources:
    5
    Maps:
    3
    Tutorials:
    2
    Resources:
    5
    When it goes to the random blah.. You should Turn On a trigger that when the random integer goes to that, it will randomly spawn again.
     
  3. Steelb_l_ade

    Steelb_l_ade

    Joined:
    Apr 28, 2006
    Messages:
    188
    Resources:
    1
    Maps:
    1
    Resources:
    1
    -RESOLVED. Thanks DenZen.