- Joined
- Dec 29, 2009
- Messages
- 931
I'm using a system I just came up with and I want to fine-tune it.
Also there seems to be a problem I couldn't find where only the first hero is selectable.
Also there seems to be a problem I couldn't find where only the first hero is selectable.
-
Main
-
Events
- Map initialization
- Conditions
-
Actions
- Trigger - Run Game <gen> (ignoring conditions)
- Trigger - Run Regions <gen> (ignoring conditions)
- Trigger - Run Players <gen> (ignoring conditions)
-
For each (Integer tempInt) from 1 to 12, do (Actions)
-
Loop - Actions
- Trigger - Add to Clear <gen> the event (Player - player[tempInt] types a chat message containing -clear as An exact match)
- -------- --------------------------------------------- --------
- Trigger - Add to HS Selection <gen> the event (Player - player[tempInt] Selects a unit)
- Trigger - Add to HS Finalization <gen> the event (Player - player[tempInt] types a chat message containing -c as An exact match)
-
Loop - Actions
- Trigger - Run HS Init <gen> (ignoring conditions)
- Trigger - Run HS Generation <gen> (ignoring conditions)
-
Events
-
Players
- Events
- Conditions
-
Actions
- Set tempLoc = (Center of heroSelection region00 <gen>)
-
For each (Integer tempInt) from 1 to 12, do (Actions)
-
Loop - Actions
- Set playerHero[tempInt] = No unit
- Set player[tempInt] = (Player(tempInt))
- Set playerName[tempInt] = (Name of player[tempInt])
- Set playerNameOriginal[tempInt] = playerName[tempInt]
- Player - Make Neutral Passive treat player[tempInt] as an Ally with shared vision
- Unit - Create 1 Dummy (Camera Locking) for player[tempInt] at tempLoc facing Default building facing degrees
- Set playerCameraLock[tempInt] = (Last created unit)
- Camera - Lock camera target for player[tempInt] to playerCameraLock[tempInt], offset by (0.00, 0.00) using Default rotation
- Camera - Set player[tempInt]'s camera Distance to target to 3000.00 over 0.00 seconds
- Custom script: call RemoveLocation(udg_tempLoc)
-
Loop - Actions
-
HS Init
- Events
- Conditions
-
Actions
- Set HS_heroType[1] = Soul Reaper
- Set HS_heroType[2] = Haunted Spirit
- Set HS_heroType[3] = No unit-type
- Set HS_heroType[4] = No unit-type
- Set HS_heroType[5] = No unit-type
- Set HS_heroType[6] = No unit-type
- Set HS_heroType[7] = No unit-type
- Set HS_heroType[8] = No unit-type
- Set HS_heroType[9] = No unit-type
- Set HS_heroType[10] = No unit-type
- Set HS_heroType[11] = No unit-type
- Set HS_heroType[12] = No unit-type
- Set HS_heroType[13] = No unit-type
- Set HS_heroType[14] = No unit-type
- Set HS_heroType[15] = No unit-type
- Set HS_heroType[16] = No unit-type
- Set HS_heroType[17] = No unit-type
- Set HS_heroType[18] = No unit-type
- Set HS_heroType[19] = No unit-type
- Set HS_heroType[20] = No unit-type
- Set HS_heroType[21] = No unit-type
- Set HS_heroType[22] = No unit-type
- Set HS_heroType[23] = No unit-type
- Set HS_heroType[24] = No unit-type
- Set HS_heroType[25] = No unit-type
- Set HS_heroType[26] = No unit-type
- Set HS_heroType[27] = No unit-type
- Set HS_heroType[28] = No unit-type
- Set HS_heroType[29] = No unit-type
- Set HS_heroType[30] = No unit-type
- Set HS_heroType[31] = No unit-type
- Set HS_heroType[32] = No unit-type
- Set HS_heroType[33] = No unit-type
- Set HS_heroType[34] = No unit-type
- Set HS_heroType[35] = No unit-type
- Set HS_heroType[36] = No unit-type
-
HS Generation
- Events
- Conditions
-
Actions
-
For each (Integer tempInt) from 1 to 36, do (Actions)
-
Loop - Actions
- Set tempLoc = (Center of HS_region[tempInt])
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_heroType[tempInt] Not equal to No unit-type
-
Then - Actions
- Unit - Create 1 HS_heroType[tempInt] for Neutral Passive at tempLoc facing 0.00 degrees
-
Else - Actions
- Unit - Create 1 Dummy (Development) for Neutral Passive at tempLoc facing 0.00 degrees
- Set HS_heroTaken[tempInt] = True
-
If - Conditions
- Custom script: call RemoveLocation(udg_tempLoc)
- Set tempLoc = (Center of HS_region[0])
- Set HS_hero[tempInt] = (Last created unit)
- Unit - Make HS_hero[tempInt] face tempLoc over 0.00 seconds
- Custom script: call RemoveLocation(udg_tempLoc)
-
Loop - Actions
-
For each (Integer tempInt) from 1 to 36, do (Actions)
-
HS Selection
- Events
- Conditions
-
Actions
- Set HS_selectionValue = 0
- Set tempPlayer = (Triggering player)
- Set tempInt = (Player number of tempPlayer)
- Set HS_selectionType[tempInt] = No unit-type
-
For each (Integer tempInt) from 1 to 36, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (Triggering unit) Equal to HS_hero[tempInt]
- HS_heroTaken[tempInt] Not equal to True
-
Then - Actions
- Set HS_selectionValue = tempInt
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- HS_selectionValue Not equal to 0
-
Then - Actions
- Set tempInt = (Player number of tempPlayer)
- Set playerSelectionId[tempInt] = HS_selectionValue
- Set HS_selectionType[tempInt] = HS_heroType[playerSelectionId[tempInt]]
- Else - Actions
-
If - Conditions
- Custom script: set udg_tempPlayer = null
-
HS Finalization
- Events
-
Conditions
- HS_selectionType[(Player number of (Triggering player))] Not equal to No unit-type
-
Actions
- Set tempPlayer = (Triggering player)
- Set tempInt = (Player number of tempPlayer)
- Unit - Kill HS_hero[playerSelectionId[tempInt]]
- Unit - Remove HS_hero[playerSelectionId[tempInt]] from the game
- Custom script: set udg_HS_hero[udg_playerSelectionId[udg_tempInt]] = null
- Set HS_heroTaken[playerSelectionId[tempInt]] = True
- Set playerHeroType[tempInt] = HS_selectionType[tempInt]
- Set HS_heroType[playerSelectionId[tempInt]] = No unit-type
- Set HS_selectionType[tempInt] = No unit-type
- Set tempLoc = (Random point in HR_region[0])
- Unit - Create 1 playerHeroType[tempInt] for tempPlayer at tempLoc facing 270.00 degrees
- Set playerHero[tempInt] = (Last created unit)
- Selection - Select playerHero[tempInt] for tempPlayer
- Unit - Kill playerCameraLock[tempInt]
- Unit - Remove playerCameraLock[tempInt] from the game
- Camera - Reset camera for tempPlayer to standard game-view over 0.00 seconds
- Camera - Pan camera for tempPlayer to tempLoc over 0.00 seconds
- Player - Make Neutral Passive treat tempPlayer as an Ally
- Custom script: call RemoveLocation(udg_tempLoc)
Last edited: