Destructibles more concentrated in center

SupremeRuler

Member
Reaction score
1
For some reason, my doodads are more concentrated around the center of the circle. I've also tried using Point with Polar Offset which seems slightly better but not perfect. Will post screenshots if needed.
Also, is there a way to create circular regions?

Code:
RTG Marsh Generate
    Events
        Time - Elapsed game time is 2.00 seconds
    Conditions
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Random integer number between 1 and 100) Less than or equal to RTG_TerrainFeatureChance
            Then - Actions
                Set RTG_Depth = (Random real number between 160.00 and 192.00)
                Set RTG_Width = (128.00 x (Random real number between 8.00 and 13.00))
                Set RTG_EnvironmentVolume = ((Random integer number between 12 and 16) x ((Integer(RTG_Width)) / 128))
                Set RTG_CritterVolume = ((Random integer number between 1 and 3) x ((Integer(RTG_Width)) / 256))
                Set RTG_Environment[0] = Cattail
                Set RTG_Environment[4] = Flies
                Set RTG_Critter[0] = Frog
                Set RTG_Critter[1] = Skink
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Random integer number between 1 and 100) Less than or equal to RTG_DeathMarshChance
                    Then - Actions
                        Set RTG_PropVolume = ((Random integer number between 4 and 8) x ((Integer(RTG_Width)) / 128))
                        Set RTG_Environment[1] = Corpse Impaled
                        Set RTG_Environment[2] = Corpse Impaled
                        Set RTG_Environment[3] = Head on Spear
                    Else - Actions
                        Set RTG_PropVolume = ((Random integer number between 1 and 3) x ((Integer(RTG_Width)) / 128))
                        Set RTG_Environment[1] = Log
                        Set RTG_Environment[2] = Corpse Impaled
                        Set RTG_Environment[3] = Head on Spear
                Set RTG_Terrain[0] = Ashenvale - Grassy Dirt
                -------- --- --------
                -------- Generating Terrain Object --------
                -------- --- --------
                Set RTG_Point[0] = (Random point in Spawn Marsh <gen>)
                Camera - Pan camera for Player 1 (Red) to RTG_Point[0] over 0.00 seconds
                Camera - Set Player 1 (Red)'s camera Distance to target to 2500.00 over 0.00 seconds
                Unit - Create 1 Headhunter for Player 1 (Red) at RTG_Point[0] facing Default building facing degrees
                Environment - Create a 0.01 second Permanent crater deformation at RTG_Point[0] with radius RTG_Width and depth RTG_Depth
                Environment - Change terrain type at RTG_Point[0] to RTG_Terrain[5] using variation -1 in an area of size (((Integer(RTG_Width)) / 128) - 0) and shape Circle
                Wait 0.10 seconds
                Destructible - Create a Birds at RTG_Point[0] facing (Random angle) with scale (Random real number between 0.80 and 1.20) and variation 0
                Trigger - Run RTG Marsh Populate <gen> (ignoring conditions)
                Wait until (RTG_MarshPopulated Equal to True), checking every 0.10 seconds
                Custom script:  call RemoveLocation(udg_RTG_Point[0])
            Else - Actions
        Custom script:  call DestroyTrigger(GetTriggeringTrigger())

Code:
RTG Marsh Populate
    Events
    Conditions
    Actions
        -------- --- --------
        -------- Generating Critters --------
        -------- --- --------
        Set RTG_MaxRadius = (Random real number between 0.00 and (RTG_Width - 128.00))
        Set RTG_X = (Random real number between (RTG_MaxRadius x -1.00) and RTG_MaxRadius)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Random integer number between 0 and 1) Equal to 0
            Then - Actions
                Set RTG_Y = ((Square root(((Power(RTG_MaxRadius, 2.00)) - (Power(RTG_X, 2.00))))) x 1.00)
            Else - Actions
                Set RTG_Y = ((Square root(((Power(RTG_MaxRadius, 2.00)) - (Power(RTG_X, 2.00))))) x -1.00)
        Set RTG_Point[1] = (RTG_Point[0] offset by (RTG_X, RTG_Y))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                RTG_Count[0] Less than RTG_CritterVolume
            Then - Actions
                Set RTG_Count[0] = (RTG_Count[0] + 1)
                Unit - Create 1 RTG_Critter[(Random integer number between 0 and 1)] for Neutral Passive at RTG_Point[1] facing (Random angle) degrees
                Trigger - Run (This trigger) (ignoring conditions)
            Else - Actions
                -------- --- --------
                -------- Generating Environment --------
                -------- --- --------
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (Terrain type at RTG_Point[1]) Equal to Ashenvale - Grass
                    Then - Actions
                        Trigger - Run (This trigger) (ignoring conditions)
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                RTG_Count[1] Less than RTG_EnvironmentVolume
                            Then - Actions
                                Set RTG_Count[1] = (RTG_Count[1] + 1)
                                Destructible - Create a RTG_Environment[0] at RTG_Point[1] facing (Random angle) with scale (Random real number between 0.50 and 0.75) and variation 0
                                For each (Integer B) from 1 to 6, do (Actions)
                                    Loop - Actions
                                        Set RTG_Point[2] = (RTG_Point[1] offset by 64.00 towards (60.00 x (Real((Integer B)))) degrees)
                                        Destructible - Create a RTG_Environment[0] at RTG_Point[2] facing (Random angle) with scale (Random real number between 0.50 and 0.75) and variation 0
                                        Custom script:  call RemoveLocation(udg_RTG_Point[2])
                                Trigger - Run (This trigger) (ignoring conditions)
                            Else - Actions
                                -------- --- --------
                                -------- Generating Props --------
                                -------- --- --------
                                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                    If - Conditions
                                        RTG_Count[2] Less than RTG_PropVolume
                                    Then - Actions
                                        Set RTG_Scale[1] = (Random real number between 0.80 and 1.00)
                                        Set RTG_Scale[2] = (Random real number between 1.15 and 1.40)
                                        Set RTG_Scale[3] = (Random real number between 1.15 and 1.40)
                                        Set RTG_Count[2] = (RTG_Count[2] + 1)
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                (Random integer number between 1 and 100) Less than or equal to 75
                                            Then - Actions
                                                Set RTG_RandomInt = (Random integer number between 1 and 4)
                                            Else - Actions
                                                Set RTG_RandomInt = (Random integer number between 2 and 4)
                                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                                            If - Conditions
                                                RTG_RandomInt Greater than or equal to 2
                                            Then - Actions
                                                Destructible - Create a RTG_Environment[4] at RTG_Point[1] facing (Random angle) with scale (Random real number between 0.80 and 1.20) and variation 0
                                            Else - Actions
                                        Destructible - Create a RTG_Environment[RTG_RandomInt] at RTG_Point[1] facing (Random angle) with scale RTG_Scale[RTG_RandomInt] and variation 0
                                        Trigger - Add to RTG Destroy <gen> the event (Destructible - (Last created destructible) dies)
                                        Trigger - Run (This trigger) (ignoring conditions)
                                    Else - Actions
                                        Set RTG_MarshPopulated = True
                                        Custom script:  call DestroyTrigger(GetTriggeringTrigger())
        Custom script:  call RemoveLocation(udg_RTG_Point[1])
 
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