diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000000..0d6de057b3
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,14 @@
+{
+ // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.
+ // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp
+
+ // List of extensions which should be recommended for users of this workspace.
+ "recommendations": [
+ "talv.sc2galaxy",
+ "talv.sc2layouts",
+ "redhat.vscode-xml"
+ ],
+ // List of extensions recommended by VS Code that should not be recommended for users of this workspace.
+ "unwantedRecommendations": [
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 52c37a3917..986965f346 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,35 +1,46 @@
{
- "sc2layout.builtinMods": {
- "mods/core.sc2mod": false,
- "mods/liberty.sc2mod": false,
- "mods/swarm.sc2mod": false,
- "mods/void.sc2mod": false,
- "mods/libertymulti.sc2mod": false,
- "mods/swarmmulti.sc2mod": false,
- "mods/voidmulti.sc2mod": false,
- "mods/balancemulti.sc2mod": false,
- "mods/challenges.sc2mod": false,
- "mods/voidprologue.sc2mod": false,
- "mods/war3data.sc2mod": false,
- "campaigns/liberty.sc2campaign": false,
- "campaigns/libertystory.sc2campaign": false,
- "campaigns/swarm.sc2campaign": false,
- "campaigns/swarmstory.sc2campaign": false,
- "campaigns/swarmstoryutil.sc2mod": false,
- "campaigns/void.sc2campaign": false,
- "campaigns/voidstory.sc2campaign": false,
- "mods/missionpacks/campaigncommon.sc2mod": false,
- "mods/missionpacks/novacampaign.sc2mod": false,
- "mods/novastoryassets.sc2mod": false,
- "mods/alliedcommanders.sc2mod": false,
- "mods/starcoop/starcoop.sc2mod": false
- },
+ // nullify all builtin mods
+ "sc2layout.builtinMods": null,
// use this repo as its main source of data files, to prevent indexing same files (which are packed extra with the extension)
"sc2layout.dataPath": ".",
"sc2galaxy.dataPath": ".",
- // set mods/void.sc2mod as currently active document - seems like a sane default
- // everything which isn't part of dependency chain of void.sc2mod will be ignored during initial indexing process
- "sc2galaxy.archivePath": "mods/void.sc2mod",
+ // tweak sc2galaxy indexing level to something that will index all built-in mods, but skip the maps & campaigns stuff - seems like right balance between utility and performance
+ "sc2galaxy.metadata.loadLevel": "Builtin",
+ "sc2galaxy.dataCatalog.enabled": true,
+ "sc2galaxy.references.currentWorkspaceOnly": true,
+
+ // manually specify what to load
+ "sc2galaxy.fallbackDependency": "mods/void.sc2mod",
+ "sc2galaxy.s2mod.overrides": {
+ "mods/core.sc2mod": "mods/core.sc2mod",
+ "mods/liberty.sc2mod": "mods/liberty.sc2mod",
+ "mods/swarm.sc2mod": "mods/swarm.sc2mod",
+ "mods/void.sc2mod": "mods/void.sc2mod",
+ "campaigns/liberty.sc2campaign": "campaigns/liberty.sc2campaign",
+ "campaigns/swarm.sc2campaign": "campaigns/swarm.sc2campaign",
+ "campaigns/void.sc2campaign": "campaigns/void.sc2campaign",
+ "mods/alliedcommanders.sc2mod": "mods/alliedcommanders.sc2mod",
+ "mods/starcoop/starcoop.sc2mod": "mods/starcoop/starcoop.sc2mod",
+ "mods/novastoryassets.sc2mod": "mods/novastoryassets.sc2mod",
+ "mods/missionpacks/campaigncommon.sc2mod": "mods/missionpacks/campaigncommon.sc2mod",
+ "mods/missionpacks/novacampaign.sc2mod": "mods/missionpacks/novacampaign.sc2mod",
+ },
+
+ // not needed?
+ "sc2galaxy.s2mod.extra": {
+ "mods/starcoop/starcoop.sc2mod": "mods/starcoop/starcoop.sc2mod",
+ "mods/novastoryassets.sc2mod": "mods/novastoryassets.sc2mod",
+ "mods/missionpacks/campaigncommon.sc2mod": "mods/missionpacks/campaigncommon.sc2mod",
+ "mods/missionpacks/novacampaign.sc2mod": "mods/missionpacks/novacampaign.sc2mod",
+ // "mods/starcoop/commanders/arcturusmengsk.sc2mod": "mods/starcoop/commanders/arcturusmengsk.sc2mod",
+ // "mods/starcoop/commanders/egonstetmann.sc2mod": "mods/starcoop/commanders/egonstetmann.sc2mod",
+ }
+
+ // readonly mode also supressess stuff like manually triggered autocompletions etc. ; doesn't seem worth it
+ // "files.readonlyInclude": {
+ // "**/mods/**": true,
+ // "**/campaigns/**": true,
+ // }
}
\ No newline at end of file
diff --git a/README.md b/README.md
index 74b2ebb945..0f4a3ad73f 100644
--- a/README.md
+++ b/README.md
@@ -2,4 +2,7 @@
GameData, UI and Galaxy files
-This repository is being updated using [helper script in Lua](https://github.com/SC2Mapster/tools/blob/master/update.lua), which then calls [stormex](https://github.com/Talv/stormex) with appropiate set of filters to get files out of CASC.
+---
+
+⚠️ **NOTICE**: This repository is no longer receiving active updates.
+- Tooling and automation is broken and maintainers do not have the time nor energy to do anything with this for now.
diff --git a/mods/core.sc2mod/base.sc2data/BuildId.txt b/mods/core.sc2mod/base.sc2data/BuildId.txt
index 4a792fda49..735780d310 100644
--- a/mods/core.sc2mod/base.sc2data/BuildId.txt
+++ b/mods/core.sc2mod/base.sc2data/BuildId.txt
@@ -1 +1 @@
-B89165
+B97364
diff --git a/mods/core.sc2mod/base.sc2data/DataBuildId.txt b/mods/core.sc2mod/base.sc2data/DataBuildId.txt
index 4a792fda49..735780d310 100644
--- a/mods/core.sc2mod/base.sc2data/DataBuildId.txt
+++ b/mods/core.sc2mod/base.sc2data/DataBuildId.txt
@@ -1 +1 @@
-B89165
+B97364
diff --git a/mods/core.sc2mod/base.sc2data/GameData/GameUIData.xml b/mods/core.sc2mod/base.sc2data/GameData/GameUIData.xml
index 9c7903f3f4..8e5ee05730 100644
--- a/mods/core.sc2mod/base.sc2data/GameData/GameUIData.xml
+++ b/mods/core.sc2mod/base.sc2data/GameData/GameUIData.xml
@@ -1368,5 +1368,6 @@
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoPanel.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoPanel.SC2Layout
index c9aaa789c1..cc811449ea 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoPanel.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoPanel.SC2Layout
@@ -34,22 +34,10 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -159,6 +147,8 @@
+
+
@@ -235,24 +225,13 @@
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -268,21 +247,10 @@
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoTooltip.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoTooltip.SC2Layout
index 65fa519a53..c698e05b3a 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoTooltip.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapInfoTooltip.SC2Layout
@@ -39,6 +39,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileOverviewPanel.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileOverviewPanel.SC2Layout
index a8fd8e4aa2..4331fea5ca 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileOverviewPanel.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileOverviewPanel.SC2Layout
@@ -247,24 +247,13 @@
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -280,21 +269,10 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -367,21 +345,10 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -427,23 +394,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileReviewsPanel.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileReviewsPanel.SC2Layout
index 07d35ea8b4..a7977c9f4c 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileReviewsPanel.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/BattleMapProfileReviewsPanel.SC2Layout
@@ -129,7 +129,7 @@
-
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGameModListPanel.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGameModListPanel.SC2Layout
index 3d9eaabad7..3f73fa7901 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGameModListPanel.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGameModListPanel.SC2Layout
@@ -142,7 +142,7 @@
-
+
@@ -286,7 +286,7 @@
-
+
@@ -606,6 +606,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesArcade.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesArcade.SC2Layout
index e1625d4c8d..f22a176067 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesArcade.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesArcade.SC2Layout
@@ -441,9 +441,8 @@
-
-
-
+
+
@@ -533,6 +532,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesCustomCampaigns.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesCustomCampaigns.SC2Layout
index c69ab39fa7..528b24b7e1 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesCustomCampaigns.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesCustomCampaigns.SC2Layout
@@ -233,6 +233,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesLobbies.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesLobbies.SC2Layout
index 0f5fc68a31..0c4aebd5af 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesLobbies.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesLobbies.SC2Layout
@@ -293,22 +293,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
@@ -326,7 +314,9 @@
-
+
+
+
@@ -469,15 +459,11 @@
-
+
+
-
-
-
-
-
-
+
@@ -686,11 +672,6 @@
-
-
-
-
-
@@ -728,6 +709,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesMelee.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesMelee.SC2Layout
index e4a632058d..d3ca51b2e2 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesMelee.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesMelee.SC2Layout
@@ -394,6 +394,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesTemplates.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesTemplates.SC2Layout
index a4c8ac6bfa..67ba59c96c 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesTemplates.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/CustomGamesTemplates.SC2Layout
@@ -168,8 +168,33 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1314,22 +1294,10 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -1364,6 +1332,9 @@
+
+
+
@@ -2286,53 +2257,25 @@
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2468,6 +2411,9 @@
+
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyGameInfoFrame.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyGameInfoFrame.SC2Layout
index 7dc44a2b8c..b9015b1456 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyGameInfoFrame.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyGameInfoFrame.SC2Layout
@@ -122,7 +122,7 @@
-
+
@@ -133,7 +133,7 @@
-
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyListTemplates.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyListTemplates.SC2Layout
index 27168773f8..8143de143e 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyListTemplates.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/LobbyListTemplates.SC2Layout
@@ -125,26 +125,15 @@
-
-
+
-
-
+
-
-
-
-
-
-
-
-
-
-
+
@@ -193,7 +182,9 @@
-
+
+
+
@@ -259,6 +250,8 @@
+
+
@@ -305,12 +298,7 @@
-
-
-
-
-
-
+
@@ -499,6 +487,8 @@
+
+
@@ -515,11 +505,6 @@
-
-
-
-
-
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ReportDialogs.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ReportDialogs.SC2Layout
index 46ccae1b82..66cb7febc4 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ReportDialogs.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ReportDialogs.SC2Layout
@@ -35,6 +35,7 @@
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleLobby.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleLobby.SC2Layout
index 79799086ad..a74325b07b 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleLobby.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleLobby.SC2Layout
@@ -155,7 +155,8 @@
-
+
+
@@ -176,7 +177,8 @@
-
+
+
@@ -207,6 +209,8 @@
+
+
@@ -217,7 +221,8 @@
-
+
+
@@ -322,7 +327,6 @@
-
@@ -417,11 +421,15 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -545,46 +553,22 @@
-
-
+
-
-
+
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleMapProfile.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleMapProfile.SC2Layout
index 899cfbd4b7..ba4c58d165 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleMapProfile.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenBattleMapProfile.SC2Layout
@@ -250,21 +250,10 @@
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -284,7 +273,7 @@
-
+
@@ -336,6 +325,8 @@
+
+
@@ -834,9 +825,7 @@
-
-
-
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenScore.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenScore.SC2Layout
index 7a35db4721..6302f07c41 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenScore.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/ScreenScore.SC2Layout
@@ -117,7 +117,7 @@
-
+
@@ -142,7 +142,7 @@
-
+
@@ -189,6 +189,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMapReviewsFrame.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMapReviewsFrame.SC2Layout
index b4eb5c0e2f..926e906eae 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMapReviewsFrame.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMapReviewsFrame.SC2Layout
@@ -91,6 +91,7 @@
+
@@ -134,7 +135,7 @@
-
+
@@ -217,6 +218,8 @@
+
+
diff --git a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMatchHistoryFrame.SC2Layout b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMatchHistoryFrame.SC2Layout
index a4f4c3f4d7..731b1dd21b 100644
--- a/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMatchHistoryFrame.SC2Layout
+++ b/mods/core.sc2mod/base.sc2data/UI/Layout/Glue/UserProfileMatchHistoryFrame.SC2Layout
@@ -65,6 +65,7 @@
+
@@ -112,7 +113,7 @@
-
+
diff --git a/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt b/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt
index 2fb16240fa..d2d429c2f5 100644
--- a/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt
+++ b/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt
@@ -2092,6 +2092,7 @@ UI/BattleNetErrorDialog/Error_AuthUnknown=There was an unknown error loggin in.
UI/BattleNetErrorDialog/Error_GameServer=A problem occurred while connecting to the game. Please try again later.
UI/BattleNetErrorDialog/Error_NoParams=There was an internal error logging in. [No Parameters]
UI/BattleNetErrorDialog/Error_PreLobby=Failed to stream necessary map data.
+UI/BattleNetErrorDialog/Error_InvalidMap=Invalid map.
UI/BattleNetErrorDialog/Error_ServiceLost=You were disconnected from Blizzard services.
UI/BattleNetErrorDialogTitle=Error
UI/BattleNetErrorDialogTitleNGDPPatchFailure=Version Mismatch
@@ -5649,7 +5650,7 @@ UI/GlueTheme/Zeratul=Zeratul
UI/GlueTheme/Zerg=Kerrigan
UI/GlueThemeLabel= Background Model:
UI/GoldAmountShort=%GOLD% G
-UI/GovernmentSplashDialogKR=본 게임물은 두 가지 등급(‘12세이용가’ 및 ‘청소년이용불가’)으로 분류되었습니다. 이용자의 연령은 게임 접속 시 자동으로 확인됩니다. 만12세 이상 만18세 미만의 어린이나 청소년은 ‘12세이용가’ 콘텐츠만 이용할 수 있으며, 만12세 미만의 어린이나 청소년이 이용하기에 부적절합니다.
+UI/GovernmentSplashDialogKR=본 게임물은 두 가지 등급(‘12세이용가’ 및 ‘청소년이용불가’)으로 분류되었습니다. 이용자의 연령은 게임 접속 시 자동으로 확인됩니다. 만12세 이상 만19세 미만의 어린이나 청소년은 ‘12세이용가’ 콘텐츠만 이용할 수 있으며, 만12세 미만의 어린이나 청소년이 이용하기에 부적절합니다.
UI/Graph_Control=Graph
UI/Graphics=Graphics
UI/GraphicsAPI_Colon=Render API:
diff --git a/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStringsProduct.txt b/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStringsProduct.txt
index 8e6b2d6990..edd3e45edb 100644
--- a/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStringsProduct.txt
+++ b/mods/core.sc2mod/enus.sc2data/LocalizedData/GameStringsProduct.txt
@@ -66,6 +66,8 @@ Bundle/Description/ZeratulBundle=The Co-op Stimpack in this bundle may only be p
Bundle/Description/ZeratulCommander=
Bundle/Description/iNcontrolAnnouncerBundle=
Bundle/Description/scboyAnnouncerBundle=
+Bundle/Description/CNBundle1=
+Bundle/Description/CNBundle2=
Bundle/Name/AbathurBundle=Commander Abathur
Bundle/Name/AbathurTwitchPrimeBundle=Abathur: Evolved Bundle
Bundle/Name/AlarakBundle=Commander Alarak
@@ -82,6 +84,8 @@ Bundle/Name/CelebrityAnnouncerBundle=SC2 Celebrity Announcer Bundle
Bundle/Name/CommanderBundle=Co-op Conqueror Bundle
Bundle/Name/CompleteCollectionDeluxe=Campaign Collection Digital Deluxe
Bundle/Name/CompleteCollectionStandard=Campaign Collection
+Bundle/Name/CNBundle1=China Campaign Collection
+Bundle/Name/CNBundle2=China Campaign Collection Digital Deluxe
Bundle/Name/Day9AnnouncerBundle=Day[9] Announcer
Bundle/Name/DehakaBundle=Dehaka Master Bundle
Bundle/Name/EliteSkinsBundle=Elite Skins Bundle
@@ -2577,6 +2581,10 @@ UI/BattleMapContextMenu/Report=Report Map
UI/BattleMapContextMenu/Unbookmark=Unbookmark
UI/BattleMapContextMenu/UnbookmarkMap=Unbookmark Map
UI/BattleMapContextMenu/UnbookmarkMod=Unbookmark Extension Mod
+UI/BattleMapContextMenu/ModeratorApproveMap=Moderator Approve Map
+UI/BattleMapContextMenu/ModeratorApproveMod=Moderator Approve Mod
+UI/BattleMapContextMenu/ModeratorBanMap=Moderator Ban Map
+UI/BattleMapContextMenu/ModeratorBanMod=Moderator Ban Mod
UI/BattleMapInfoPanel/AuthorTitle=Author:
UI/BattleMapInfoPanel/AverageRatingTitle=Average Rating:
UI/BattleMapInfoPanel/AverageRatingTitleFormatted=Avg of %0% Ratings:
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/ActorData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/ActorData.xml
index 90e7299c0b..9e7f341df8 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/ActorData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/ActorData.xml
@@ -30143,4 +30143,146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/BehaviorData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/BehaviorData.xml
index 1358ead2ac..56a20210d5 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/BehaviorData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/BehaviorData.xml
@@ -1540,4 +1540,53 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/BundleData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/BundleData.xml
index 71df425820..07684e45c8 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/BundleData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/BundleData.xml
@@ -2157,4 +2157,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/ConfigData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/ConfigData.xml
index 26d07e1adc..66b1a51f3c 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/ConfigData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/ConfigData.xml
@@ -564,6 +564,8 @@
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/EffectData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/EffectData.xml
index 555e80c28b..ff78a59606 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/EffectData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/EffectData.xml
@@ -3575,4 +3575,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/FootprintData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/FootprintData.xml
index bdc58a869d..9dc1ecd38f 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/FootprintData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/FootprintData.xml
@@ -7152,4 +7152,66 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/ModelData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/ModelData.xml
index 15dc3ec13f..508d32ba21 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/ModelData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/ModelData.xml
@@ -8672,6 +8672,7 @@
+
@@ -8740,6 +8741,7 @@
+
@@ -11116,7 +11118,7 @@
-
+
@@ -11134,15 +11136,15 @@
-
+
-
-
-
+
+
+
@@ -11153,7 +11155,7 @@
-
+
@@ -12235,7 +12237,7 @@
-
+
@@ -16940,7 +16942,7 @@
-
+
@@ -19165,6 +19167,7 @@
+
@@ -19183,6 +19186,7 @@
+
@@ -26661,6 +26665,7 @@
+
@@ -27340,7 +27345,7 @@
-
+
@@ -27373,7 +27378,7 @@
-
+
@@ -27415,7 +27420,7 @@
-
+
@@ -28334,7 +28339,7 @@
-
+
@@ -28345,7 +28350,7 @@
-
+
@@ -28375,50 +28380,52 @@
-
+
-
+
-
-
+
+
+
-
+
-
+
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -28427,7 +28434,7 @@
-
+
@@ -28458,7 +28465,7 @@
-
+
@@ -46053,4 +46060,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/RewardData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/RewardData.xml
index c57dc6604c..578d6d0e4d 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/RewardData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/RewardData.xml
@@ -935,6 +935,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -961,6 +979,12 @@
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/SkinData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/SkinData.xml
index 3d46697a8f..bbced979bb 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/SkinData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/SkinData.xml
@@ -856,7 +856,7 @@
-
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/UnitData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/UnitData.xml
index 12cff15b46..9975201c74 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/UnitData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/UnitData.xml
@@ -10247,6 +10247,8 @@
+
+
@@ -10258,6 +10260,8 @@
+
+
@@ -12923,4 +12927,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/base.sc2data/GameData/ValidatorData.xml b/mods/liberty.sc2mod/base.sc2data/GameData/ValidatorData.xml
index c4fbfbaf6a..78dc3b2b2e 100644
--- a/mods/liberty.sc2mod/base.sc2data/GameData/ValidatorData.xml
+++ b/mods/liberty.sc2mod/base.sc2data/GameData/ValidatorData.xml
@@ -3056,4 +3056,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/liberty.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt b/mods/liberty.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt
index eac38e7270..71f538003b 100644
--- a/mods/liberty.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt
+++ b/mods/liberty.sc2mod/enus.sc2data/LocalizedData/GameStrings.txt
@@ -902,9 +902,13 @@ Behavior/Tooltip/WarpInVulnerability=Takes double damage while warping in
Bundle/Description/WarChestSeason6ProtossSkinsBundle=
Bundle/Description/WarChestSeason6TerranSkinsBundle=
Bundle/Description/WarChestSeason6ZergSkinsBundle=
+Bundle/Name/CNBundle1=China Campaign Collection
+Bundle/Name/CNBundle2=China Campaign Collection Digital Deluxe
Bundle/Name/WarChestSeason6ProtossSkinsBundle=Protoss Ihan-rii Structures Bundle
Bundle/Name/WarChestSeason6TerranSkinsBundle=Terran Tyrador Structures Bundle
Bundle/Name/WarChestSeason6ZergSkinsBundle=Zerg Cerberus Structures Bundle
+Bundle/ShortName/CNBundle1=China Campaign Collection
+Bundle/ShortName/CNBundle2=China Campaign Collection Digital Deluxe
Button/Name/250mmStrikeCannons=250mm Strike Cannons
Button/Name/AWrp=Archon Merge
Button/Name/AcquireMove=Scan Move
@@ -4199,6 +4203,9 @@ Reward/Description/Spray_Test01=Test1
Reward/Description/iNcontroLTributePack=In memory of Geoff "iNcontroL" Robinson, this item is unlocked for all players.
Reward/DescriptionUnearned/Portrait_WarChest1_Phase2=Unlocked by participating in the BlizzCon 2017 War Chest.
Reward/DescriptionUnearned/Spray_Test01=Test1 - Not owned
+Reward/Name/2026MatcherinoContributor=2026 Matcherino Contributor
+Reward/Name/2026MatcherinoWinner=2026 Matcherino Winner
+Reward/Name/2026allstarherO=2026 All-Star Invitational Champion - herO
Reward/Name/ANIMATIONDEFAULT=ANIMATIONDEFAULT
Reward/Name/Abathur_ConsoleZerg=Abathur_ConsoleZerg
Reward/Name/AdeptCE=Collector's Edition
@@ -5962,6 +5969,7 @@ Reward/Name/Portrait_2019_herO=WCS herO
Reward/Name/Portrait_2019_soO=WCS soO
Reward/Name/Portrait_2021_IEM_Champion_Reynor=2021 IEM Champion Reynor
Reward/Name/Portrait_2022_IEM_Champion=2022 IEM Champion
+Reward/Name/Portrait_2022_IEM_Champion2=2023 IEM Champion - Oliveira
Reward/Name/Portrait_4thAnniversary_Protoss=4th Anniversary Protoss
Reward/Name/Portrait_4thAnniversary_Terran=4th Anniversary Terran
Reward/Name/Portrait_4thAnniversary_Zerg=4th Anniversary Zerg
@@ -9964,6 +9972,7 @@ UI/SocialPanel/StatusAvailable=
Away
UI/SocialPanel/StatusBusy=
Busy
UI/Spawning=Birthing
+UI/StoreTypeName/Bundle=China Campaign Collection Digital Deluxe
UI/SupplyCost=Supply: %1
UI/Training=Training
UI/Upgrading=Upgrading
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/BankList.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/BankList.xml
index 21021f1ffa..73d7af5b3d 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/BankList.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/BankList.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ComponentList.SC2Components b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ComponentList.SC2Components
index 04f5b427ae..debe67dc6e 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ComponentList.SC2Components
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ComponentList.SC2Components
@@ -1,6 +1,5 @@
-
+
-
GameData
GameText
DocumentInfo
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/DocumentHeader b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/DocumentHeader
index 797d6e078a..3772f3fd0a 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/DocumentHeader and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/DocumentHeader differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/GameData.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/GameData.version
index 4c0fd4cf50..52569a5a76 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/GameData.version and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/GameData.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/MapScript.galaxy b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/MapScript.galaxy
index 9925644548..8dc4ef82ab 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/MapScript.galaxy
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/MapScript.galaxy
@@ -117,6 +117,7 @@ int gv_vultureDistanceLabel;
int gv_vultureDistanceDialog;
fixed gv_vultureStageDuration;
fixed gv_vultureStageDistance;
+timer gv_anniversaryAchievementMissionTimer;
int gv_statSnipeKills;
int gv_statFlameTurretHits;
int gv_statCivilianCollisions;
@@ -176,6 +177,7 @@ void InitGlobals () {
gv_stoneBarrageTimer = TimerCreate();
gv_vultureDistanceLabel = c_invalidDialogControlId;
gv_vultureDistanceDialog = c_invalidDialogId;
+ gv_anniversaryAchievementMissionTimer = TimerCreate();
gv_objectiveDestroyZergBase = c_invalidObjectiveId;
gv_objectiveDestroyZergBase5 = c_invalidObjectiveId;
gv_objectiveDestroyZergBase2 = c_invalidObjectiveId;
@@ -2818,6 +2820,7 @@ bool gt_StartGameQ_Func (bool testConds, bool runActions) {
return true;
}
+ TimerStart(gv_anniversaryAchievementMissionTimer, 300.0, false, c_timeGame);
SoundtrackDefault(PlayerGroupAll(), c_soundtrackCategoryMusic, "nDLC_Music_Nova01_Main", c_soundtrackCueAny, c_soundtrackIndexAny);
TriggerExecute(gt_StartAI, true, false);
TriggerExecute(gt_ResearchBayDefenders, true, false);
@@ -2892,6 +2895,10 @@ bool gt_StartGameVultureQ_Func (bool testConds, bool runActions) {
gf_ActivateFriendlyGhostRoadAI(gv_stoneVulture);
}
+ if ((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1) && (TimerGetElapsed(gv_anniversaryAchievementMissionTimer) < 300.0)) {
+ libComC_gf_CampaignAwardAchievement("Anniversary_Nova01", gv_pLAYER_01_USER);
+ }
+
libNCMI_gf_CreateMissionAutosavePoint(StringExternal("Param/Value/3E6BE0ED"));
Wait(2.0, c_timeReal);
TriggerQueueEnter();
@@ -2937,6 +2944,7 @@ bool gt_CleanupSection1_Func (bool testConds, bool runActions) {
return true;
}
+ TimerPause(gv_anniversaryAchievementMissionTimer, true);
TriggerEnable(TriggerGetCurrent(), false);
TriggerExecute(gt_ObjectiveSurviveCreate, true, false);
TriggerEnable(gt_CatwalkTrooperWhatsThatSoundQ, false);
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Preload.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Preload.xml
index 85086cc466..61ab0d2277 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Preload.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Preload.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers
index d72b97b781..e7af47dc8a 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers
@@ -10709,6 +10709,8 @@
+
+
@@ -10735,6 +10737,35 @@
+
+
+ Starting mission timer
+
+
+
+
+
+
+
+
+
+
+
+ 300.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Init
@@ -11617,6 +11648,7 @@
+
@@ -11850,6 +11882,103 @@
true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+ Anniversary_Nova01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 300.0
+
+
Checkpoint
@@ -12118,6 +12247,8 @@
+
+
@@ -12193,6 +12324,24 @@
true
+
+
+ Pausing mission timer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -58011,6 +58160,7 @@
+
@@ -89050,6 +89200,18 @@
2
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers.version
index 6d4ed9b242..cbc8bee808 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers.version and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/Triggers.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/base.sc2data/GameData/UnitData.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/base.sc2data/GameData/UnitData.xml
index 2a68d4e516..15839b668f 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/base.sc2data/GameData/UnitData.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/base.sc2data/GameData/UnitData.xml
@@ -1,4 +1,4 @@
-
+
@@ -19,25 +19,24 @@
+
+
-
+
+
-
-
-
-
-
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/dede.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..a97c07fc0a
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Entkommen Sie aus der feindlichen Einrichtung.
+DocInfo/DescShort=Einzelspieler
+DocInfo/Name=Auf der Flucht
+LoadingScreen/TextBody=Nach ein paar kurzen Jahren des Friedens haben die Zerg erneut ohne Vorwarnung Welten der Liga angegriffen. Imperator Valerian bemüht sich, die verängstigte Bevölkerung zu beruhigen, doch einige Bürger schenken ihm keinen Glauben. Sie haben sich zu einer Oppositionsbewegung zusammengeschlossen, den Verteidigern der Menschheit. Zu allem Überfluss hat das Militär der Liga jeglichen Kontakt zu einigen seiner Ghosts verloren – darunter auch seine tödlichste Agentin, Nova, und ihr Team mit Stone, Delta und Pierce. Man kann nur mutmaßen, welches Schicksal sie ereilt hat ...
+LoadingScreen/Tip=Nova ist eine Helden-Einheit mit besonderen Fähigkeiten. Sie können sie auswählen, indem Sie drücken oder auf ihr Symbol in der oberen linken Ecke des Bildschirms klicken.
+LoadingScreen/TipRestart=Novas Fähigkeiten sind essentiell in dieser Mission. Schalten Sie gegnerische Ghosts mit "Scharfschütze" aus und vernichten Sie größere Gegnergruppen mit "Impulsgranate".
+LoadingScreen/Title=Novas Geheimmissionen
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Feindlicher Agent
+MapInfo/Player03/Name=Terranische Liga
+MapInfo/Player04/Name=Zivilist
+MapInfo/Player05/Name=Feindlich
+MapInfo/Player06/Name=Feindlich
+Param/Expression/08CDD58E=~A~-mal
+Param/Expression/4C5B636A=~A~m
+Param/Expression/C759D4AC=~A~m
+Param/Expression/F9AE609D=~A~-mal
+Param/Value/007C13A8=Scharfschützengewehr erhalten.
+Param/Value/03803359=5 Tage
+Param/Value/1078E0F5=Sturmgeschütz
+Param/Value/1D7C41D8=Adler-Abschnitt - Hellions
+Param/Value/2614D9DA=Impulsgranaten
+Param/Value/277D6F54=Teamkameraden verloren
+Param/Value/2C94DA3D=Lädt auf
+Param/Value/37531E68=Impulsgranate einsetzen
+Param/Value/3A1C0ED2=Feindlicher Soldat
+Param/Value/3E6BE0ED=Adler-Phase
+Param/Value/4305A802=Kills mit Scharfschütze
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Feindlicher Rächer
+Param/Value/57553CA5=Boss
+Param/Value/5AF1C45A=K-20A-Kanistergewehr
+Param/Value/5B8ECC81=Entfernung zum Hangar
+Param/Value/5BF5C64D=Feindlicher Ghost
+Param/Value/5CC7FADE=Verhelfen Sie Nova zur Flucht
+Param/Value/60106611=Scharfschütze einsetzen
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=Nova wurde getötet.
+Param/Value/6691626D=Codename: Pierce
+Param/Value/698FA5CD=Schaden durch Flammentürme
+Param/Value/7AB61E9B=Feindlicher Marodeur
+Param/Value/7CC31B50=Flammenturm
+Param/Value/8324ACCB=Warhawk
+Param/Value/85769C28=Zusammenstöße mit zivilen Fahrzeugen
+Param/Value/865D2FDB=Impulsgranaten erhalten.
+Param/Value/87FDA9C8=Erste-Hilfe-Station online
+Param/Value/89C7D388=Feindlicher Ghost
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Forschungsstation
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Impulsgranaten
+Param/Value/A765A166=Sturmgeschütz
+Param/Value/B331348E=Verbündete gerettet
+Param/Value/B446D391=Waffenkammer
+Param/Value/C405C803=Codename: Delta
+Param/Value/C4DA8745=K-20A-Kanistergewehr
+Param/Value/D1D0407F=Adler-Abschnitt - Banshees
+Param/Value/D8AD5C30=Feindliches WBF
+Param/Value/E152CDD4=Verlassen
+Param/Value/E368F1AD=Verlassen
+Param/Value/E50B2E9B=Genickbruch
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Raketenturm
+Param/Value/EE90A735=Feindlicher Soldat
+Param/Value/F222D370=Codename: Stone
+Param/Value/F8BC641E=Erreichen Sie diesen Punkt, um Nova die Flucht zu ermöglichen.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
index be3232ace3..97f1362eb6 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
@@ -298,6 +298,7 @@ Variable/Name/3808084D=VultureStageDistance
Variable/Name/3861CD25=Phase2EnterStart
Variable/Name/38CF25B1=LaserRegion
Variable/Name/3AAF4918=CivilianUnits
+Variable/Name/3B82A782=Anniversary Achievement - Mission Timer
Variable/Name/3CD6A413=Caster
Variable/Name/3E1BDCFB=ReptileCrateUnit
Variable/Name/3E39D2A7=PLAYER_02_ENEMY
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/eses.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..09091da31f
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Escapa de la instalación enemiga.
+DocInfo/DescShort=Un jugador
+DocInfo/Name=La fuga
+LoadingScreen/TextBody=Tras unos años de paz, los zerg han retomado los ataques impredecibles contra mundos del Dominio. El emperador Valerian ha intentado tranquilizar a una población alarmada, pero algunos ciudadanos se muestran reticentes. Juntos, han formado un grupo opositor: los Defensores del Hombre. Mientras, el ejército del Dominio ha perdido el contacto con varios fantasmas, entre los que se encuentran Nova, su agente más letal, y el resto de su equipo (Stone, Delta y Pierce). Su destino sigue siendo incierto...
+LoadingScreen/Tip=Nova es una poderosa heroína con habilidades especiales. Puedes seleccionarla pulsando o haciendo clic en su icono en la esquina superior izquierda de la pantalla.
+LoadingScreen/TipRestart=Usar bien las habilidades de Nova es vital. Utiliza disparo de precisión para eliminar a fantasmas enemigos y granadas de pulsos para aniquilar a grupos grandes de fuerzas enemigas.
+LoadingScreen/Title=Nova: Operación Sigilo
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Agente enemigo
+MapInfo/Player03/Name=Dominio terran
+MapInfo/Player04/Name=Civil
+MapInfo/Player05/Name=Hostil
+MapInfo/Player06/Name=Hostil
+Param/Expression/08CDD58E=~A~ veces
+Param/Expression/4C5B636A=~A~ m
+Param/Expression/C759D4AC=~A~ m
+Param/Expression/F9AE609D=~A~ veces
+Param/Value/007C13A8=Rifle de francotirador obtenido.
+Param/Value/03803359=5 días
+Param/Value/1078E0F5=Torreta de artillería
+Param/Value/1D7C41D8=Plataforma de buitre - Erebiones
+Param/Value/2614D9DA=Granadas de pulsos
+Param/Value/277D6F54=Miembros del equipo perdidos
+Param/Value/2C94DA3D=Recargando
+Param/Value/37531E68=Usar granada de pulsos
+Param/Value/3A1C0ED2=Agente enemigo
+Param/Value/3E6BE0ED=Plataforma de buitre
+Param/Value/4305A802=Asesinatos con disparo de precisión
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Segador enemigo
+Param/Value/57553CA5=Jefe
+Param/Value/5AF1C45A=Fusil de francotirador C-20A
+Param/Value/5B8ECC81=Distancia al puerto estelar
+Param/Value/5BF5C64D=Fantasma enemigo
+Param/Value/5CC7FADE=Trae a Nova aquí
+Param/Value/60106611=Lanzar disparo de precisión
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=¡Nova ha muerto!
+Param/Value/6691626D=Nombre en clave: Pierce
+Param/Value/698FA5CD=Golpeado por torretas de llamas /// Damaged by Flame Turrets
+Param/Value/7AB61E9B=Persecutor enemigo
+Param/Value/7CC31B50=Torreta de llamas
+Param/Value/8324ACCB=Halcón de guerra
+Param/Value/85769C28=Colisión con vehículos civiles
+Param/Value/865D2FDB=Granadas de pulsos obtenidas.
+Param/Value/87FDA9C8=Terminal de recuperación activo
+Param/Value/89C7D388=Fantasma enemigo
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Bahía de investigación
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Granadas de pulsos
+Param/Value/A765A166=Torreta de artillería
+Param/Value/B331348E=Aliados rescatados
+Param/Value/B446D391=Arsenal
+Param/Value/C405C803=Nombre en clave: Delta
+Param/Value/C4DA8745=Fusil de francotirador C-20A
+Param/Value/D1D0407F=Plataforma de buitre - Átropos
+Param/Value/D8AD5C30=VCE enemigo
+Param/Value/E152CDD4=Salida
+Param/Value/E368F1AD=Salida
+Param/Value/E50B2E9B=Romper el cuello
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Torreta de misiles
+Param/Value/EE90A735=Agente enemigo
+Param/Value/F222D370=Nombre en clave: Stone
+Param/Value/F8BC641E=Escapa.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..56f2414e14
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Escapar del complejo enemigo
+DocInfo/DescShort=Un jugador
+DocInfo/Name=La huida /// The Escape
+LoadingScreen/TextBody=Tras algunos años de paz, los zerg regresaron inesperadamente para atacar los mundos del Dominio. El emperador Valerian ha intentado tranquilizar a la población aterrada, pero algunos ciudadanos aún se muestran inseguros. Juntos, formaron una facción opuesta al gobierno de turno: los Defensores del hombre. Mientras tanto, las fuerzas militares del Dominio han perdido contacto con muchos de sus fantasmas, incluida Nova —su agente más mortífera— y el resto de su equipo: Stone, Delta y Pierce. Su destino aún es un misterio...
+LoadingScreen/Tip=Nova es una unidad heroica con habilidades especiales. Para seleccionarla, presiona o haz clic sobre su ícono en el ángulo superior izquierdo de la pantalla.
+LoadingScreen/TipRestart=Nova depende de sus habilidades para tener éxito. Usa Francotirar para eliminar a los Fantasmas enemigos y Granadas de pulso para aniquilar grupos grandes de fuerzas enemigas.
+LoadingScreen/Title=Nova: Operaciones encubiertas
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Agente enemigo
+MapInfo/Player03/Name=Dominio terran
+MapInfo/Player04/Name=Civil
+MapInfo/Player05/Name=Hostil
+MapInfo/Player06/Name=Hostil
+Param/Expression/08CDD58E=~A~ veces
+Param/Expression/4C5B636A=~A~m
+Param/Expression/C759D4AC=~A~m
+Param/Expression/F9AE609D=~A~ veces
+Param/Value/007C13A8=Has obtenido un rifle de francotirador.
+Param/Value/03803359=5 días
+Param/Value/1078E0F5=Torreta armada
+Param/Value/1D7C41D8=Etapa de la buitre: Demonios
+Param/Value/2614D9DA=Granadas de pulso
+Param/Value/277D6F54=Miembros del equipo perdidos
+Param/Value/2C94DA3D=Recargando
+Param/Value/37531E68=Usa las granadas de pulso
+Param/Value/3A1C0ED2=Soldado enemigo
+Param/Value/3E6BE0ED=Etapa de la buitre
+Param/Value/4305A802=Muertes con Francotirar
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Yum-Kimil enemigo
+Param/Value/57553CA5=Jefe
+Param/Value/5AF1C45A=Rifle de alto calibre C-20A /// C-20A Canister Rifle
+Param/Value/5B8ECC81=Distancia hasta el Puerto estelar
+Param/Value/5BF5C64D=Fantasma enemigo
+Param/Value/5CC7FADE=Mueve a Nova a esta posición
+Param/Value/60106611=Usa Francotirar
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=¡Han aniquilado a Nova!
+Param/Value/6691626D=Alias: Pierce
+Param/Value/698FA5CD=Dañada por Torretas flamígeras
+Param/Value/7AB61E9B=Merodeador enemigo
+Param/Value/7CC31B50=Torreta flamígera
+Param/Value/8324ACCB=Halcón negro
+Param/Value/85769C28=Colisión con vehículos civiles
+Param/Value/865D2FDB=Granadas de pulso obtenidas.
+Param/Value/87FDA9C8=Terminal de recuperación en línea
+Param/Value/89C7D388=Fantasma enemigo
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Centro de investigación
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Granadas de pulso
+Param/Value/A765A166=Torreta armada
+Param/Value/B331348E=Aliados rescatados
+Param/Value/B446D391=Armería
+Param/Value/C405C803=Alias: Delta
+Param/Value/C4DA8745=Rifle de alto calibre C-20A /// C-20A Canister Rifle
+Param/Value/D1D0407F=Etapa de la buitre - Banshees
+Param/Value/D8AD5C30=VCE enemigo
+Param/Value/E152CDD4=Salida
+Param/Value/E368F1AD=Salida
+Param/Value/E50B2E9B=Quebradura de cuello /// Break Neck
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Torreta de misiles
+Param/Value/EE90A735=Soldado enemigo
+Param/Value/F222D370=Alias: Stone
+Param/Value/F8BC641E=Escapa.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..24b94f8874
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Évadez-vous de l’installation ennemie.
+DocInfo/DescShort=Solo
+DocInfo/Name=L’évasion
+LoadingScreen/TextBody=La paix n’aura duré que quelques années : les Zergs frappent de nouveau les mondes du Dominion, et leurs assauts semblent imprévisibles. Malgré les efforts de l’empereur Valérian pour rassurer la population, certains citoyens nourrissent des doutes. Ensemble, les plus sceptiques ont formé une faction d’opposition : les Défenseurs de l’humanité. Dans le même temps, l’armée du Dominion a perdu le contact avec plusieurs de ses fantômes, y compris leur meilleur agent, Nova, ainsi que le reste de son équipe : Stone, Delta et Pierce. À ce jour, leur sort reste incertain…
+LoadingScreen/Tip=Nova est une unité héroïque disposant de capacités spéciales. Vous pouvez la sélectionner en appuyant sur ou en cliquant sur l’icône en haut à gauche de l’écran.
+LoadingScreen/TipRestart=Les capacités de Nova sont la clé de son efficacité. Utilisez Tir de précision pour vous débarrasser des fantômes adverses et les grenades à impulsion pour annihiler les groupes d’ennemis.
+LoadingScreen/Title=Nova : Opérations secrètes
+MapInfo/Player00/Name=Neutre
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Agent ennemi
+MapInfo/Player03/Name=Dominion terran
+MapInfo/Player04/Name=Civil
+MapInfo/Player05/Name=Hostile
+MapInfo/Player06/Name=Hostile
+Param/Expression/08CDD58E=~A~ fois
+Param/Expression/4C5B636A=~A~ m
+Param/Expression/C759D4AC=~A~ m
+Param/Expression/F9AE609D=~A~ fois
+Param/Value/007C13A8=Fusil de précision obtenu.
+Param/Value/03803359=5 jours
+Param/Value/1078E0F5=Tourelle mitrailleuse
+Param/Value/1D7C41D8=Phase du vautour - Les Tourmenteurs
+Param/Value/2614D9DA=Grenades à impulsion
+Param/Value/277D6F54=Membres de l’équipe perdus
+Param/Value/2C94DA3D=Rechargement
+Param/Value/37531E68=Utiliser Grenade à impulsion
+Param/Value/3A1C0ED2=Soldat ennemi
+Param/Value/3E6BE0ED=Phase du Vautour
+Param/Value/4305A802=Victimes de Tir de précision
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Faucheur ennemi
+Param/Value/57553CA5=Boss
+Param/Value/5AF1C45A=Fusil de précision C-20A
+Param/Value/5B8ECC81=Spatioport :
+Param/Value/5BF5C64D=Fantôme ennemi
+Param/Value/5CC7FADE=Menez Nova jusqu’ici
+Param/Value/60106611=Utiliser Tir de précision
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=Nova a été tuée !
+Param/Value/6691626D=Nom de code : Pierce
+Param/Value/698FA5CD=Blessée par des tourelles lance-flammes
+Param/Value/7AB61E9B=Maraudeur ennemi
+Param/Value/7CC31B50=Tourelle lance-flammes
+Param/Value/8324ACCB=Faucon de guerre
+Param/Value/85769C28=Collision avec des véhicules civils
+Param/Value/865D2FDB=Grenades à impulsion obtenues.
+Param/Value/87FDA9C8=Terminal de soins connecté
+Param/Value/89C7D388=Fantôme ennemi
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Laboratoire de recherche
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Grenades à impulsion
+Param/Value/A765A166=Tourelle mitrailleuse
+Param/Value/B331348E=Alliés secourus
+Param/Value/B446D391=Armurerie
+Param/Value/C405C803=Nom de code : Delta
+Param/Value/C4DA8745=Fusil de précision C-20A
+Param/Value/D1D0407F=Phase du vautour - Les Banshees
+Param/Value/D8AD5C30=VCS ennemi
+Param/Value/E152CDD4=Quitter
+Param/Value/E368F1AD=Quitter
+Param/Value/E50B2E9B=Brise-nuque
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Tourelle lance-missiles
+Param/Value/EE90A735=Soldat ennemi
+Param/Value/F222D370=Nom de code : Stone
+Param/Value/F8BC641E=Fuyez.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/itit.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..47e311077e
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Fuggi dal complesso nemico.
+DocInfo/DescShort=Giocatore singolo
+DocInfo/Name=La fuga
+LoadingScreen/TextBody=Dopo qualche anno di pace, gli zerg hanno iniziato nuovamente ad attaccare i pianeti del Dominio. L'Imperatore Valerian ha tentato di rassicurare la popolazione, ma non tutti sono convinti del suo operato. I dissidenti hanno formato una fazione: i Difensori dell'Umanità.Nel frattempo, l'esercito del Dominio ha perso i contatti con molti dei suoi Fantasmi, compresa Nova, il loro agente più letale e la sua squadra: Stone, Delta e Pierce. Il loro destino è incerto...
+LoadingScreen/Tip=Nova è un'unità eroica dotata di abilità speciali. Potrai selezionarla premendo o cliccando sulla sua icona, nell'angolo in alto a sinistra dello schermo.
+LoadingScreen/TipRestart=Un corretto uso delle abilità di Nova è fondamentale. Sfrutta Tiro di precisione per eliminare i Fantasmi nemici e Granate a impulsi per decimare ampi gruppi di nemici.
+LoadingScreen/Title=Nova: Operazioni Segrete
+MapInfo/Player00/Name=Neutrale
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Agente nemico
+MapInfo/Player03/Name=Dominio Terran
+MapInfo/Player04/Name=Civile
+MapInfo/Player05/Name=Nemico
+MapInfo/Player06/Name=Nemico
+Param/Expression/08CDD58E=~A~
+Param/Expression/4C5B636A=~A~m
+Param/Expression/C759D4AC=~A~m
+Param/Expression/F9AE609D=~A~
+Param/Value/007C13A8=Fucile di precisione ottenuto
+Param/Value/03803359=5 giorni
+Param/Value/1078E0F5=Torretta
+Param/Value/1D7C41D8=Fase Vulture - Hellion
+Param/Value/2614D9DA=Granate a impulsi
+Param/Value/277D6F54=Membri della squadra persi
+Param/Value/2C94DA3D=In ricarica
+Param/Value/37531E68=Usa Granate a impulsi
+Param/Value/3A1C0ED2=Soldato nemico
+Param/Value/3E6BE0ED=Fase Vulture
+Param/Value/4305A802=Uccisioni con Tiro di precisione
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Mietitore nemico
+Param/Value/57553CA5=Boss
+Param/Value/5AF1C45A=Fucile di precisione C-20A
+Param/Value/5B8ECC81=Distanza Spazioporto
+Param/Value/5BF5C64D=Fantasma nemico
+Param/Value/5CC7FADE=Porta qui Nova
+Param/Value/60106611=Usa Tiro di precisione
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=Nova è stata uccisa!
+Param/Value/6691626D=Nome in codice: Pierce
+Param/Value/698FA5CD=Collisioni con le fiamme delle torrette
+Param/Value/7AB61E9B=Devastatore nemico
+Param/Value/7CC31B50=Torretta incendiaria
+Param/Value/8324ACCB=Warhawk
+Param/Value/85769C28=Collisioni con veicoli civili
+Param/Value/865D2FDB=Granate a impulsi ottenute.
+Param/Value/87FDA9C8=Terminale rigenerativo online
+Param/Value/89C7D388=Fantasma nemico
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Reparto di ricerca
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Granate a impulsi
+Param/Value/A765A166=Torretta
+Param/Value/B331348E=Alleati recuperati
+Param/Value/B446D391=Armeria
+Param/Value/C405C803=Nome in codice: Delta
+Param/Value/C4DA8745=Fucile di precisione C-20A
+Param/Value/D1D0407F=Fase Vulture - Banshee
+Param/Value/D8AD5C30=SCV nemico
+Param/Value/E152CDD4=Uscita
+Param/Value/E368F1AD=Uscita
+Param/Value/E50B2E9B=Usa Spezzacollo
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Torretta lanciamissili
+Param/Value/EE90A735=Soldato nemico
+Param/Value/F222D370=Nome in codice: Stone
+Param/Value/F8BC641E=Fuggi.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..9c1203f491
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=적 시설에서 탈출하십시오.
+DocInfo/DescShort=싱글플레이어 /// Single Player
+DocInfo/Name=탈출 /// The Escape
+LoadingScreen/TextBody=평화로운 나날이 몇 년간 이어지던 어느 날, 저그가 갑자기 돌아와 자치령 세계를 공격하기 시작한다. 발레리안 황제는 공포에 빠진 시민들을 안심시키려 했지만, 여전히 의구심을 거두지 못하는 시민들은 힘을 모아 인류의 수호자라는 대항 세력을 결성한다.한편, 자치령 군부는 일부 유령 요원들과 연락이 두절되는데, 이중에는 가장 강력한 요원인 노바와 그녀의 팀원들도 포함되어 있다. 지금, 이들의 운명은 불확실하다... /// After a few years of peace, the zerg have returned to strike unpredictably at Dominion worlds. Emperor Valerian has tried to reassure the frightened populace, but some citizens remain unconvinced. Together, they have formed an opposition faction--the Defenders of Man. Meanwhile, the Dominion military has lost all contact with several of its ghosts, including its deadliest agent, Nova, and the rest of her team--Stone, Delta, and Pierce. Their fates remain uncertain...
+LoadingScreen/Tip=노바는 특수 능력이 있는 강력한 영웅 유닛입니다. 키를 누르거나 화면의 왼쪽 상단 구석에 있는 아이콘을 클릭해서 선택할 수 있습니다. /// Nova is a hero unit with special abilities. You can select her by pressing or clicking the icon in the upper left corner of the screen.
+LoadingScreen/TipRestart=노바가 임무를 성공적으로 수행하려면 그녀의 능력을 잘 활용해야 합니다. 저격으로 적 유령을 제거하고, 파동 수류탄으로 대규모 적 병력을 말살하십시오. /// Nova's abilities are vital to her success. Use Snipe to eliminate enemy ghosts and Pulse Grenades to annihilate large groups of enemy forces.
+LoadingScreen/Title=노바 비밀 작전 /// Nova Covert Ops
+MapInfo/Player00/Name=중립 /// Neutral
+MapInfo/Player01/Name=노바 /// Nova
+MapInfo/Player02/Name=적 요원 /// Enemy Agent
+MapInfo/Player03/Name=테란 자치령 /// Terran Dominion
+MapInfo/Player04/Name=민간인 /// Civilian
+MapInfo/Player05/Name=적대 /// Hostile
+MapInfo/Player06/Name=적대 /// Hostile
+Param/Expression/08CDD58E=~A~번 /// ~A~ times
+Param/Expression/4C5B636A=~A~m /// ~A~m
+Param/Expression/C759D4AC=~A~m /// ~A~m
+Param/Expression/F9AE609D=~A~번 /// ~A~ times
+Param/Value/007C13A8=저격 소총 획득 /// Sniper rifle obtained.
+Param/Value/03803359=5일
+Param/Value/1078E0F5=포탑 /// Gun Turret
+Param/Value/1D7C41D8=시체매 단계 - 화염차
+Param/Value/2614D9DA=파동 수류탄 /// Pulse Grenades
+Param/Value/277D6F54=잃은 팀원 /// Team Members Lost
+Param/Value/2C94DA3D=재충전 중
+Param/Value/37531E68=파동 수류탄 사용 /// Use Pulse Grenade
+Param/Value/3A1C0ED2=적 부대원 /// Enemy Trooper
+Param/Value/3E6BE0ED=시체매 단계
+Param/Value/4305A802=저격 처치 /// Snipe Kills
+Param/Value/52C6FC4B=피어스 /// Pierce
+Param/Value/56DC25D2=적 사신 /// Enemy Reaper
+Param/Value/57553CA5=우두머리
+Param/Value/5AF1C45A=C-20A 산탄 소총 /// C-20A Canister Rifle
+Param/Value/5B8ECC81=은하공항까지 남은 거리 /// Distance to Starport
+Param/Value/5BF5C64D=적 유령 /// Enemy Ghost
+Param/Value/5CC7FADE=노바를 여기로 이동 /// Move Nova Here
+Param/Value/60106611=저격 사용 /// Cast Snipe
+Param/Value/60BB5C81=스톤 /// Stone
+Param/Value/659E4026=노바가 사망했습니다! /// Nova has been slain!
+Param/Value/6691626D=코드명: 피어스
+Param/Value/698FA5CD=화염 포탑에 피해 /// Damaged by Flame Turrets
+Param/Value/7AB61E9B=적 불곰 /// Enemy Marauder
+Param/Value/7CC31B50=화염 포탑 /// Flame Turret
+Param/Value/8324ACCB=전투매 /// Warhawk
+Param/Value/85769C28=민간인 차량 충돌 /// Collided with Civilian Vehicles
+Param/Value/865D2FDB=파동 수류탄 획득 /// Pulse grenades obtained.
+Param/Value/87FDA9C8=회복 장치 가동 중 /// Recovery Terminal Online
+Param/Value/89C7D388=적 유령 /// Enemy Ghost
+Param/Value/92039262=델타 /// Delta
+Param/Value/93C985D4=연구동 /// Research Bay
+Param/Value/98BB3B1B=피어스 /// Pierce
+Param/Value/9A51B079=스톤 /// Stone
+Param/Value/9BD0E5E5=파동 수류탄 /// Pulse Grenades
+Param/Value/A765A166=포탑 /// Gun Turret
+Param/Value/B331348E=동맹 구출
+Param/Value/B446D391=무기고 /// Armory
+Param/Value/C405C803=코드명: 델타
+Param/Value/C4DA8745=C-20A 산탄 소총 /// C-20A Canister Rifle
+Param/Value/D1D0407F=시체매 단계 - 밴시
+Param/Value/D8AD5C30=적 건설로봇 /// Enemy SCV
+Param/Value/E152CDD4=출구 /// Exit
+Param/Value/E368F1AD=출구 /// Exit
+Param/Value/E50B2E9B=목 비틀기 /// Break Neck
+Param/Value/E55F989D=델타 /// Delta
+Param/Value/E6CB2AFA=미사일 포탑 /// Missile Turret
+Param/Value/EE90A735=적 부대원 /// Enemy Trooper
+Param/Value/F222D370=코드명: 스톤
+Param/Value/F8BC641E=탈출하십시오. /// Escape.
+Param/Value/FE74AAF3=스톤 /// Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..22a25e7339
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Ucieknij z placówki wroga.
+DocInfo/DescShort=Tryb jednoosobowy
+DocInfo/Name=Ucieczka
+LoadingScreen/TextBody=Po kilku latach pokoju zergi wróciły i zaatakowały bez ostrzeżenia światy Dominium. Choć imperator Valerian starał się uspokoić przerażoną ludność, to jego słowa nie przekonały wszystkich obywateli. Wspólnie przeciwnicy rządów utworzyli opozycyjną frakcję – Obrońców Ludzkości. Tymczasem armia Dominium straciła kontakt z kilkoma swoimi agentami z oddziałów duchów. Poza najniebezpieczniejszą z nich, Novą, do oddziału należeli też Stone, Delta i Pierce. Ich los jest nieznany... /// After a few years of peace, the zerg have returned to strike unpredictably at Dominion worlds. Emperor Valerian has tried to reassure the frightened populace, but some citizens remain unconvinced. Together, they have formed an opposition faction--the Defenders of Man. Meanwhile, the Dominion military has lost all contact with several of its ghosts, including its deadliest agent, Nova, and the rest of her team--Stone, Delta, and Pierce. Their fates remain uncertain...
+LoadingScreen/Tip=Nova to jednostka bohaterska o specjalnych zdolnościach. Aby ją wybrać, naciśnij lub kliknij jej ikonę w lewym górnym rogu ekranu. /// Nova is a hero unit with special abilities. You can select her by pressing or clicking the icon in the upper left corner of the screen.
+LoadingScreen/TipRestart=Zdolności Novy to klucz do zwycięstwa. Wykorzystuj Strzał Snajperski, aby eliminować wrogich duchów z daleka i Granaty Impulsowe, aby niszczyć duże grupy wrogów.
+LoadingScreen/Title=Tajne operacje Novy
+MapInfo/Player00/Name=Neutralny
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Wrogi agent
+MapInfo/Player03/Name=Dominium Terran
+MapInfo/Player04/Name=Cywil
+MapInfo/Player05/Name=Wróg
+MapInfo/Player06/Name=Wróg
+Param/Expression/08CDD58E=~A~
+Param/Expression/4C5B636A=~A~ m
+Param/Expression/C759D4AC=~A~ m
+Param/Expression/F9AE609D=~A~
+Param/Value/007C13A8=Zdobyto karabin snajperski.
+Param/Value/03803359=5 dni
+Param/Value/1078E0F5=Wieżyczka artyleryjska
+Param/Value/1D7C41D8=Etap z sępami – heliony
+Param/Value/2614D9DA=Granaty Impulsowe
+Param/Value/277D6F54=Straceni członkowie drużyny
+Param/Value/2C94DA3D=Ładowanie
+Param/Value/37531E68=Użyj Granatu Impulsowego
+Param/Value/3A1C0ED2=Wrogi żołnierz
+Param/Value/3E6BE0ED=Etap z sępami
+Param/Value/4305A802=Zabici Strzałem Snajperskim
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Wrogi żniwiarz
+Param/Value/57553CA5=Boss
+Param/Value/5AF1C45A=Karabin Kartaczowy C-20A
+Param/Value/5B8ECC81=Odległość do portu
+Param/Value/5BF5C64D=Wrogi duch
+Param/Value/5CC7FADE=Przemieść Novę tutaj
+Param/Value/60106611=Strzał Snajperski
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=Nova została zabita!
+Param/Value/6691626D=Kryptonim: Pierce
+Param/Value/698FA5CD=Zranienia przez wieżyczki ogniowe
+Param/Value/7AB61E9B=Wrogi maruder
+Param/Value/7CC31B50=Wieżyczka ogniowa
+Param/Value/8324ACCB=Pancerny Jastrząb
+Param/Value/85769C28=Zderzenia z pojazdami cywilnymi
+Param/Value/865D2FDB=Zdobyto Granaty Impulsowe.
+Param/Value/87FDA9C8=Terminal leczniczy aktywny
+Param/Value/89C7D388=Wrogi duch
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Laboratorium
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Granaty Impulsowe
+Param/Value/A765A166=Wieżyczka artyleryjska
+Param/Value/B331348E=Uratowani sojusznicy
+Param/Value/B446D391=Zbrojownia
+Param/Value/C405C803=Kryptonim: Delta
+Param/Value/C4DA8745=Karabin Kartaczowy C-20A
+Param/Value/D1D0407F=Etap z sępami – banshee
+Param/Value/D8AD5C30=ERK wroga
+Param/Value/E152CDD4=Wyjście
+Param/Value/E368F1AD=Wyjście
+Param/Value/E50B2E9B=Skręcenie Karku
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Wieżyczka przeciwlotnicza
+Param/Value/EE90A735=Wrogi żołnierz
+Param/Value/F222D370=Kryptonim: Stone
+Param/Value/F8BC641E=Ucieknij.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..a1b1c2a95e
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Escapar das instalações inimigas.
+DocInfo/DescShort=Jogo Individual
+DocInfo/Name=A Fuga
+LoadingScreen/TextBody=Após alguns anos de paz, os zergs voltaram a atacar imprevisivelmente planetas da Supremacia. O imperador Valerian tentou acalmar a população assustada, mas alguns dos habitantes da região permanecem em alerta. Juntos, eles formaram uma facção de oposição: os Defensores do Homem.Nesse ínterim, as forças militares da Supremacia perderam totalmente o contato com vários fantasmas, inclusive Nova, sua agente mais mortífera, e a equipe que a acompanhava: Stone, Delta e Pierce. Seu paradeiro continua desconhecido...
+LoadingScreen/Tip=Nova é uma unidade heroica com habilidades especiais. Você pode escolhê-la apertando ou clicando no ícone no canto superior esquerdo da tela.
+LoadingScreen/TipRestart=As habilidades de Nova são fundamentais para se obter sucesso. Use Tiro de Precisão para eliminar fantasmas inimigos e Granadas de Pulso para aniquilar grandes grupos de forças inimigas.
+LoadingScreen/Title=Nova: Operações Secretas
+MapInfo/Player00/Name=Neutro
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Agente Inimigo
+MapInfo/Player03/Name=Supremacia Terrana
+MapInfo/Player04/Name=Civil
+MapInfo/Player05/Name=Inimigo
+MapInfo/Player06/Name=Inimigo
+Param/Expression/08CDD58E=~A~ vezes
+Param/Expression/4C5B636A=~A~m
+Param/Expression/C759D4AC=~A~m
+Param/Expression/F9AE609D=~A~ vezes
+Param/Value/007C13A8=Rifle de Precisão obtido.
+Param/Value/03803359=5 dias
+Param/Value/1078E0F5=Torre de Canhão
+Param/Value/1D7C41D8=Estágio Abutre - Endiabrado
+Param/Value/2614D9DA=Granadas de Pulso
+Param/Value/277D6F54=Membros da Equipe Perdidos
+Param/Value/2C94DA3D=Recarregando
+Param/Value/37531E68=Usar Granadas de Pulso
+Param/Value/3A1C0ED2=Soldado Inimigo
+Param/Value/3E6BE0ED=Estágio Abutre
+Param/Value/4305A802=Mortes com Tiro de Precisão
+Param/Value/52C6FC4B=Pierce
+Param/Value/56DC25D2=Exterminador Inimigo
+Param/Value/57553CA5=Chefe
+Param/Value/5AF1C45A=Rifle de Cilindro C-20A
+Param/Value/5B8ECC81=Distância até o Estaleiro Sideral
+Param/Value/5BF5C64D=Fantasma Inimigo
+Param/Value/5CC7FADE=Mova Nova para cá
+Param/Value/60106611=Lançar Tiro de Precisão
+Param/Value/60BB5C81=Stone
+Param/Value/659E4026=Nova foi morta!
+Param/Value/6691626D=Codinome: Pierce
+Param/Value/698FA5CD=Dano de Torres Lança-Chamas
+Param/Value/7AB61E9B=Demolidor Inimigo
+Param/Value/7CC31B50=Torre de Fogo
+Param/Value/8324ACCB=Águia de Combate
+Param/Value/85769C28=Colidiu com veículos civis
+Param/Value/865D2FDB=Granadas de Pulso obtidas.
+Param/Value/87FDA9C8=Terminal de Recuperação Ativo
+Param/Value/89C7D388=Fantasma Inimigo
+Param/Value/92039262=Delta
+Param/Value/93C985D4=Polo de Pesquisa
+Param/Value/98BB3B1B=Pierce
+Param/Value/9A51B079=Stone
+Param/Value/9BD0E5E5=Granadas de Pulso
+Param/Value/A765A166=Torre de Canhão
+Param/Value/B331348E=Aliados Resgatados
+Param/Value/B446D391=Arsenal
+Param/Value/C405C803=Codinome: Delta
+Param/Value/C4DA8745=Rifle de Cilindro C-20A
+Param/Value/D1D0407F=Estágio Abutre - Vudus
+Param/Value/D8AD5C30=VCE Inimigo
+Param/Value/E152CDD4=Sair
+Param/Value/E368F1AD=Sair
+Param/Value/E50B2E9B=Quebrar Pescoço
+Param/Value/E55F989D=Delta
+Param/Value/E6CB2AFA=Torre de Mísseis
+Param/Value/EE90A735=Soldado Inimigo
+Param/Value/F222D370=Codinome: Stone
+Param/Value/F8BC641E=Fuja.
+Param/Value/FE74AAF3=Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..9712e5435e
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=Сбегите из вражеского комплекса.
+DocInfo/DescShort=Одиночная игра
+DocInfo/Name=Побег
+LoadingScreen/TextBody=После нескольких лет затишья зерги вернулись и вновь атакуют планеты Доминиона. Император Валериан попытался успокоить взволнованное население, но нашлись те, кто не поверил его обещаниям. Они создали организацию под названием «Защитники человечества». В то же время командование Доминиона потеряло связь с несколькими призраками, включая Нову, одного из лучших агентов, и ее команду: Стоуна, Дельту и Пирса. Их судьба до сих пор остается неизвестной...
+LoadingScreen/Tip=Нова – герой, обладающий рядом особых способностей. Нову можно выбрать, нажав клавишу или щелкнув по ее значку в верхнем левом углу экрана.
+LoadingScreen/TipRestart=Важно эффективно использовать способности Новы: «Снайперский выстрел» против призраков, а «Импульсные гранаты» — против групп противников.
+LoadingScreen/Title=НОВА: НЕЗРИМАЯ ВОЙНА
+MapInfo/Player00/Name=Нейтральный
+MapInfo/Player01/Name=Нова
+MapInfo/Player02/Name=Вражеский агент
+MapInfo/Player03/Name=Доминион терранов
+MapInfo/Player04/Name=Мирный житель
+MapInfo/Player05/Name=Противник
+MapInfo/Player06/Name=Противник
+Param/Expression/08CDD58E=~A~
+Param/Expression/4C5B636A=~A~ м
+Param/Expression/C759D4AC=~A~ м
+Param/Expression/F9AE609D=~A~
+Param/Value/007C13A8=Вы нашли снайперскую винтовку.
+Param/Value/03803359=5 дней
+Param/Value/1078E0F5=Пулеметная турель
+Param/Value/1D7C41D8=Побег на «Стервятнике» – «Геллионы»
+Param/Value/2614D9DA=Импульсные гранаты
+Param/Value/277D6F54=Потеряно союзных призраков
+Param/Value/2C94DA3D=Перезарядка
+Param/Value/37531E68=Используйте импульсную гранату
+Param/Value/3A1C0ED2=Вражеский пехотинец
+Param/Value/3E6BE0ED=Побег на «Стервятнике»
+Param/Value/4305A802=Убито «Снайперским выстрелом»
+Param/Value/52C6FC4B=Пирс
+Param/Value/56DC25D2=Вражеский головорез
+Param/Value/57553CA5=Босс
+Param/Value/5AF1C45A=Карабин C-20А
+Param/Value/5B8ECC81=До космопорта осталось
+Param/Value/5BF5C64D=Вражеский призрак
+Param/Value/5CC7FADE=Подведите Нову сюда.
+Param/Value/60106611=Используйте «Снайперский выстрел»
+Param/Value/60BB5C81=Стоун
+Param/Value/659E4026=Нову убили!
+Param/Value/6691626D=Позывной: Пирс
+Param/Value/698FA5CD=Попаданий под огнеметные турели
+Param/Value/7AB61E9B=Вражеский мародер
+Param/Value/7CC31B50=Огнеметная турель
+Param/Value/8324ACCB=«Боевой ястреб»
+Param/Value/85769C28=Столкновений с гражданским транспортом
+Param/Value/865D2FDB=Вы нашли импульсные гранаты.
+Param/Value/87FDA9C8=Медицинский терминал запущен
+Param/Value/89C7D388=Вражеский призрак
+Param/Value/92039262=Дельта
+Param/Value/93C985D4=Исследовательский блок
+Param/Value/98BB3B1B=Пирс
+Param/Value/9A51B079=Стоун
+Param/Value/9BD0E5E5=Импульсные гранаты
+Param/Value/A765A166=Пулеметная турель
+Param/Value/B331348E=Спасено союзников
+Param/Value/B446D391=Арсенал
+Param/Value/C405C803=Позывной: Дельта
+Param/Value/C4DA8745=Карабин C-20А
+Param/Value/D1D0407F=Побег на «Стервятнике» – «Банши»
+Param/Value/D8AD5C30=Вражеский КСМ
+Param/Value/E152CDD4=Выход
+Param/Value/E368F1AD=Выход
+Param/Value/E50B2E9B=Сломайте шею
+Param/Value/E55F989D=Дельта
+Param/Value/E6CB2AFA=Ракетная турель
+Param/Value/EE90A735=Вражеский пехотинец
+Param/Value/F222D370=Позывной: Стоун
+Param/Value/F8BC641E=Покинуть комплекс.
+Param/Value/FE74AAF3=Стоун
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..7336b746e9
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=逃离敌人的设施。 /// Escape from the enemy facility.
+DocInfo/DescShort=单人游戏 /// Single Player
+DocInfo/Name=逃出生天 /// The Escape
+LoadingScreen/TextBody=和平持续了几年后,异虫毫无征兆地再次侵入帝国疆域。瓦伦里安元首一直试图安抚惊慌失措的民众,但一些市民日渐对其心生芥蒂。通过联手,他们形成了一个反对派系——人类保卫者。与此同时,帝国军与多名幽灵特工完全失联,其中包括最令人闻风丧胆的特工诺娃及其队伍成员斯通、德尔塔和皮尔斯。他们至今生死不明…… /// After a few years of peace, the zerg have returned to strike unpredictably at Dominion worlds. Emperor Valerian has tried to reassure the frightened populace, but some citizens remain unconvinced. Together, they have formed an opposition faction--the Defenders of Man. Meanwhile, the Dominion military has lost all contact with several of its ghosts, including its deadliest agent, Nova, and the rest of her team--Stone, Delta, and Pierce. Their fates remain uncertain...
+LoadingScreen/Tip=诺娃是一名拥有特殊能力的英雄单位。你可以按或者点击屏幕左上角的图标来选中她。 /// Nova is a hero unit with special abilities. You can select her by pressing or clicking the icon in the upper left corner of the screen.
+LoadingScreen/TipRestart=诺娃的各种技能直接关系着她的性命安危。使用狙杀来对付敌方幽灵兵,使用脉冲手雷来消灭大群敌人。 /// Nova's abilities are vital to her success. Use Snipe to eliminate enemy ghosts and Pulse Grenades to annihilate large groups of enemy forces.
+LoadingScreen/Title=诺娃隐秘行动 /// Nova Covert Ops
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=诺娃 /// Nova
+MapInfo/Player02/Name=敌方特工 /// Enemy Agent
+MapInfo/Player03/Name=泰伦帝国 /// Terran Dominion
+MapInfo/Player04/Name=平民 /// Civilian
+MapInfo/Player05/Name=敌对
+MapInfo/Player06/Name=敌对
+Param/Expression/08CDD58E=~A~次 /// ~A~ times
+Param/Expression/4C5B636A=~A~米 /// ~A~m
+Param/Expression/C759D4AC=~A~米 /// ~A~m
+Param/Expression/F9AE609D=~A~次 /// ~A~ times
+Param/Value/007C13A8=狙击步枪已获得。 /// Sniper rifle obtained.
+Param/Value/03803359=5天
+Param/Value/1078E0F5=机枪炮台 /// Gun Turret
+Param/Value/1D7C41D8=秃鹫阶段 - 恶火
+Param/Value/2614D9DA=脉冲手雷 /// Pulse Grenades
+Param/Value/277D6F54=损失的队伍成员 /// Team Members Lost
+Param/Value/2C94DA3D=充能中 /// Recharging
+Param/Value/37531E68=使用脉冲手雷 /// Use Pulse Grenade
+Param/Value/3A1C0ED2=敌方士兵 /// Enemy Trooper
+Param/Value/3E6BE0ED=秃鹫阶段
+Param/Value/4305A802=狙杀数
+Param/Value/52C6FC4B=皮尔斯 /// Pierce
+Param/Value/56DC25D2=敌方收割者
+Param/Value/57553CA5=头领
+Param/Value/5AF1C45A=C-20A 霰弹步枪 /// C-20A Canister Rifle
+Param/Value/5B8ECC81=距太空港的距离 /// Distance to Starport
+Param/Value/5BF5C64D=敌方幽灵 /// Enemy Ghost
+Param/Value/5CC7FADE=将诺娃移动到这里 /// Move Nova Here
+Param/Value/60106611=施放狙杀 /// Cast Snipe
+Param/Value/60BB5C81=斯通 /// Stone
+Param/Value/659E4026=诺娃被杀死了! /// Nova has been slain!
+Param/Value/6691626D=代号:皮尔斯
+Param/Value/698FA5CD=受到火焰炮塔伤害 /// Damaged by Flame Turrets
+Param/Value/7AB61E9B=敌方劫掠者
+Param/Value/7CC31B50=火焰炮塔 /// Flame Turret
+Param/Value/8324ACCB=战鹰
+Param/Value/85769C28=与民用车辆相撞
+Param/Value/865D2FDB=脉冲手雷已获取。 /// Pulse grenades obtained.
+Param/Value/87FDA9C8=恢复站启动 /// Recovery Terminal Online
+Param/Value/89C7D388=敌方幽灵 /// Enemy Ghost
+Param/Value/92039262=德尔塔 /// Delta
+Param/Value/93C985D4=研究湾 /// Research Bay
+Param/Value/98BB3B1B=皮尔斯 /// Pierce
+Param/Value/9A51B079=斯通 /// Stone
+Param/Value/9BD0E5E5=脉冲手雷 /// Pulse Grenades
+Param/Value/A765A166=机枪炮台 /// Gun Turret
+Param/Value/B331348E=盟友已获救
+Param/Value/B446D391=军械库
+Param/Value/C405C803=代号:德尔塔
+Param/Value/C4DA8745=C-20A 霰弹步枪 /// C-20A Canister Rifle
+Param/Value/D1D0407F=秃鹫阶段 - 女妖
+Param/Value/D8AD5C30=敌方SCV
+Param/Value/E152CDD4=出口 /// Exit
+Param/Value/E368F1AD=出口 /// Exit
+Param/Value/E50B2E9B=断颈 /// Break Neck
+Param/Value/E55F989D=德尔塔 /// Delta
+Param/Value/E6CB2AFA=导弹塔
+Param/Value/EE90A735=敌方士兵 /// Enemy Trooper
+Param/Value/F222D370=代号:斯通
+Param/Value/F8BC641E=逃离。
+Param/Value/FE74AAF3=斯通 /// Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..4efb57a128
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova01.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,69 @@
+DocInfo/DescLong=逃出敵方設施。 /// Escape from the enemy facility.
+DocInfo/DescShort=單人作戰 /// Single Player
+DocInfo/Name=即刻逃亡 /// The Escape
+LoadingScreen/TextBody=和平的日子僅維持短短幾年,蟲族突然再次襲擊自治聯盟的星球。維勒安大帝試著安撫驚恐的人民,但還是有部分的人不相信他,進而組成一個名為「人類守護組織」的反抗組織。在此同時,自治聯盟軍隊中數名幽靈特務音訊全無,包括了最頂尖的諾娃以及她的特務團隊-史東、戴爾塔和皮爾斯。他們的下落至今依舊不明... /// After a few years of peace, the zerg have returned to strike unpredictably at Dominion worlds. Emperor Valerian has tried to reassure the frightened populace, but some citizens remain unconvinced. Together, they have formed an opposition faction--the Defenders of Man. Meanwhile, the Dominion military has lost all contact with several of its ghosts, including its deadliest agent, Nova, and the rest of her team--Stone, Delta, and Pierce. Their fates remain uncertain...
+LoadingScreen/Tip=諾娃是名具有特殊能力的英雄單位。你可以按下,或是點擊畫面左上方的圖示來選取她。 /// Nova is a hero unit with special abilities. You can select her by pressing or clicking the icon in the upper left corner of the screen.
+LoadingScreen/TipRestart=諾娃的技能是獲勝的關鍵。使用狙擊來消滅敵方幽靈特務,而脈衝手榴彈可以一次殲滅大批敵方部隊。 /// Nova's abilities are vital to her success. Use Snipe to eliminate enemy ghosts and Pulse Grenades to annihilate large groups of enemy forces.
+LoadingScreen/Title=諾娃特務密令 /// Nova Covert Ops
+MapInfo/Player00/Name=中立 /// Neutral
+MapInfo/Player01/Name=諾娃 /// Nova
+MapInfo/Player02/Name=敵方探員 /// Enemy Agent
+MapInfo/Player03/Name=泰倫自治聯盟 /// Terran Dominion
+MapInfo/Player04/Name=平民 /// Civilian
+MapInfo/Player05/Name=敵對 /// Hostile
+MapInfo/Player06/Name=敵對 /// Hostile
+Param/Expression/08CDD58E=~A~次 /// ~A~ times
+Param/Expression/4C5B636A=~A~公尺 /// ~A~m
+Param/Expression/C759D4AC=~A~公尺 /// ~A~m
+Param/Expression/F9AE609D=~A~次 /// ~A~ times
+Param/Value/007C13A8=已取得狙擊步槍。 /// Sniper rifle obtained.
+Param/Value/03803359=5天
+Param/Value/1078E0F5=機槍砲台 /// Gun Turret
+Param/Value/1D7C41D8=禿鷹場景 - 惡狼
+Param/Value/2614D9DA=脈衝手榴彈 /// Pulse Grenades
+Param/Value/277D6F54=失去的隊員 /// Team Members Lost
+Param/Value/2C94DA3D=充能中 /// Recharging
+Param/Value/37531E68=使用脈衝手榴彈 /// Use Pulse Grenade
+Param/Value/3A1C0ED2=敵方步兵 /// Enemy Trooper
+Param/Value/3E6BE0ED=禿鷹場景
+Param/Value/4305A802=狙擊擊殺數 /// Snipe Kills
+Param/Value/52C6FC4B=皮爾斯 /// Pierce
+Param/Value/56DC25D2=敵方死神 /// Enemy Reaper
+Param/Value/57553CA5=首領 /// Boss
+Param/Value/5AF1C45A=C-20A步槍 /// C-20A Canister Rifle
+Param/Value/5B8ECC81=距離太空港
+Param/Value/5BF5C64D=敵方幽靈特務 /// Enemy Ghost
+Param/Value/5CC7FADE=將諾娃移動至此處 /// Move Nova Here
+Param/Value/60106611=施放狙擊 /// Cast Snipe
+Param/Value/60BB5C81=史東 /// Stone
+Param/Value/659E4026=諾娃陣亡了! /// Nova has been slain!
+Param/Value/6691626D=代號:皮爾斯
+Param/Value/698FA5CD=受到的火焰砲台傷害 /// Damaged by Flame Turrets
+Param/Value/7AB61E9B=敵方掠奪者 /// Enemy Marauder
+Param/Value/7CC31B50=火焰砲台 /// Flame Turret
+Param/Value/8324ACCB=戰鷹 /// Warhawk
+Param/Value/85769C28=撞上平民車輛 /// Collided with Civilian Vehicles
+Param/Value/865D2FDB=已取得脈衝手榴彈。 /// Pulse grenades obtained.
+Param/Value/87FDA9C8=醫療站已連線
+Param/Value/89C7D388=敵方幽靈特務 /// Enemy Ghost
+Param/Value/92039262=戴爾塔 /// Delta
+Param/Value/93C985D4=研究站 /// Research Bay
+Param/Value/98BB3B1B=皮爾斯 /// Pierce
+Param/Value/9A51B079=史東 /// Stone
+Param/Value/9BD0E5E5=脈衝手榴彈 /// Pulse Grenades
+Param/Value/A765A166=機槍砲台 /// Gun Turret
+Param/Value/B331348E=救出的盟友 /// Allies Rescued
+Param/Value/B446D391=軍械庫 /// Armory
+Param/Value/C405C803=代號:戴爾塔 /// Codename: Delta
+Param/Value/C4DA8745=C-20A步槍 /// C-20A Canister Rifle
+Param/Value/D1D0407F=禿鷹場景 - 女妖轟炸機
+Param/Value/D8AD5C30=敵方太空工程車
+Param/Value/E152CDD4=離開 /// Exit
+Param/Value/E368F1AD=離開 /// Exit
+Param/Value/E50B2E9B=斷頸 /// Break Neck
+Param/Value/E55F989D=戴爾塔 /// Delta
+Param/Value/E6CB2AFA=飛彈砲台 /// Missile Turret
+Param/Value/EE90A735=敵方步兵 /// Enemy Trooper
+Param/Value/F222D370=代號:史東 /// Codename: Stone
+Param/Value/F8BC641E=撤離點。 /// Escape.
+Param/Value/FE74AAF3=史東 /// Stone
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/BankList.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/BankList.xml
index 21021f1ffa..73d7af5b3d 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/BankList.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/BankList.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ComponentList.SC2Components b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ComponentList.SC2Components
index aa33d86be8..ab1c51e4d8 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ComponentList.SC2Components
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ComponentList.SC2Components
@@ -1,6 +1,5 @@
-
+
-
GameData
GameText
DocumentInfo
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/DocumentHeader b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/DocumentHeader
index f8ab3a70be..63e64ab0e0 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/DocumentHeader and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/DocumentHeader differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy
index 96ce48e5c4..9c8935a554 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/MapScript.galaxy
@@ -73,6 +73,8 @@ unitgroup gv_bonusObjSouthRavagers;
int gv_spiderMineKills;
int gv_alliedStructuresLost;
int gv_alliedUnitsLost;
+int gv_achievement_SpiderMineKills;
+int gv_anniversaryAchievementTermSpiderMineKills;
int gv_attackWavesActive;
point[16] gv_lastWaypointsNorth;
point[16] gv_lastWaypointsEast;
@@ -208,6 +210,7 @@ trigger gt_SpiderMineKillTracker;
trigger gt_SpiderMineUnlockAchievement;
trigger gt_AlliedStructuresLostTracker;
trigger gt_AlliedUnitsLostTracker;
+trigger gt_AchievementKillenemyunitswithSpiderMines;
trigger gt_TipReadyQ;
trigger gt_StartAI;
trigger gt_AIUpgradeCasualNormal;
@@ -438,6 +441,7 @@ bool auto_gf_GoToRegionandDespawn_TriggerFunc (bool testConds, bool runActions)
unit lp_unit = auto_gf_GoToRegionandDespawn_lp_unit;
region lp_despawnRegion = auto_gf_GoToRegionandDespawn_lp_despawnRegion;
+ // Automatic Variable Declarations
// Implementation
UnitIssueOrder(lp_unit, OrderTargetingPoint(AbilityCommand("move", 0), RegionGetCenter(lp_despawnRegion)), c_orderQueueAddToEnd);
while ((UnitIsAlive(lp_unit) == true) && (DistanceBetweenPoints(UnitGetPosition(lp_unit), RegionGetCenter(lp_despawnRegion)) > 1)) {
@@ -451,6 +455,7 @@ bool auto_gf_GoToRegionandDespawn_TriggerFunc (bool testConds, bool runActions)
}
bool gf_UnitIsArmyUnit (unit lp_unit) {
+ // Automatic Variable Declarations
// Implementation
if ((CatalogFieldValueGet(c_gameCatalogUnit, UnitGetType(lp_unit), (("FlagArray[" + "ArmySelect" + "]")), c_playerAny) == "1")) {
return true;
@@ -486,6 +491,7 @@ bool auto_gf_SpawnNydusWorm_TriggerFunc (bool testConds, bool runActions) {
unitgroup lv_cargoUnits;
int lv_cooldown;
+ // Automatic Variable Declarations
// Variable Initialization
lv_rampUpTimer = TimerCreate();
lv_nydusWormPing = c_invalidPingId;
@@ -546,20 +552,20 @@ bool auto_gf_SpawnNydusWorm_TriggerFunc (bool testConds, bool runActions) {
}
void gf_UnloadUnitsFromNydusWorm (int lp_count, string lp_unitType, unit lp_nydusWorm, int lp_maxCount, point lp_targetPoint) {
- int auto8405D998_ae;
- int auto8405D998_ai;
- string auto6605A740_val;
-
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ int auto8405D998_ae;
+ const int auto8405D998_ai = 1;
+ string auto6605A740_val;
+
// Variable Initialization
// Implementation
auto8405D998_ae = lp_count;
- auto8405D998_ai = 1;
lv_i = 1;
- for ( ; ( (auto8405D998_ai >= 0 && lv_i <= auto8405D998_ae) || (auto8405D998_ai <= 0 && lv_i >= auto8405D998_ae) ) ; lv_i += auto8405D998_ai ) {
+ for ( ; ( (auto8405D998_ai >= 0 && lv_i <= auto8405D998_ae) || (auto8405D998_ai < 0 && lv_i >= auto8405D998_ae) ) ; lv_i += auto8405D998_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true) && (((lp_unitType == "Zergling") && (UnitGroupCount(gv_enemyEventZerglings, c_unitCountAlive) < lp_maxCount)) || ((lp_unitType == "Hydralisk") && (UnitGroupCount(gv_enemyEventHydralisks, c_unitCountAlive) < lp_maxCount)))) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -582,26 +588,26 @@ void gf_UnloadUnitsFromNydusWorm (int lp_count, string lp_unitType, unit lp_nydu
}
void gf_UnloadNorthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawlerCount, int lp_banelingCount, int lp_zerglingCount) {
- int auto783D612F_ae;
- int auto783D612F_ai;
- int autoC50A52F3_ae;
- int autoC50A52F3_ai;
- int auto43A62E1A_ae;
- int auto43A62E1A_ai;
-
// Variable Declarations
int lv_i;
int lv_banelingPointIter;
int lv_zerglingPointIter;
int lv_spineCrawlerPointIter;
+ // Automatic Variable Declarations
+ int auto783D612F_ae;
+ const int auto783D612F_ai = 1;
+ int autoC50A52F3_ae;
+ const int autoC50A52F3_ai = 1;
+ int auto43A62E1A_ae;
+ const int auto43A62E1A_ai = 1;
+
// Variable Initialization
// Implementation
auto783D612F_ae = lp_banelingCount;
- auto783D612F_ai = 1;
lv_i = 1;
- for ( ; ( (auto783D612F_ai >= 0 && lv_i <= auto783D612F_ae) || (auto783D612F_ai <= 0 && lv_i >= auto783D612F_ae) ) ; lv_i += auto783D612F_ai ) {
+ for ( ; ( (auto783D612F_ai >= 0 && lv_i <= auto783D612F_ae) || (auto783D612F_ai < 0 && lv_i >= auto783D612F_ae) ) ; lv_i += auto783D612F_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -619,9 +625,8 @@ void gf_UnloadNorthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawler
}
autoC50A52F3_ae = lp_zerglingCount;
- autoC50A52F3_ai = 1;
lv_i = 1;
- for ( ; ( (autoC50A52F3_ai >= 0 && lv_i <= autoC50A52F3_ae) || (autoC50A52F3_ai <= 0 && lv_i >= autoC50A52F3_ae) ) ; lv_i += autoC50A52F3_ai ) {
+ for ( ; ( (autoC50A52F3_ai >= 0 && lv_i <= autoC50A52F3_ae) || (autoC50A52F3_ai < 0 && lv_i >= autoC50A52F3_ae) ) ; lv_i += autoC50A52F3_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -639,9 +644,8 @@ void gf_UnloadNorthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawler
}
auto43A62E1A_ae = lp_spineCrawlerCount;
- auto43A62E1A_ai = 1;
lv_i = 1;
- for ( ; ( (auto43A62E1A_ai >= 0 && lv_i <= auto43A62E1A_ae) || (auto43A62E1A_ai <= 0 && lv_i >= auto43A62E1A_ae) ) ; lv_i += auto43A62E1A_ai ) {
+ for ( ; ( (auto43A62E1A_ai >= 0 && lv_i <= auto43A62E1A_ae) || (auto43A62E1A_ai < 0 && lv_i >= auto43A62E1A_ae) ) ; lv_i += auto43A62E1A_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -662,26 +666,26 @@ void gf_UnloadNorthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawler
}
void gf_UnloadSouthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawlerCount, int lp_ravagerCount, int lp_roachCount) {
- int auto110EEEEB_ae;
- int auto110EEEEB_ai;
- int auto47EBB28A_ae;
- int auto47EBB28A_ai;
- int autoC7E372CE_ae;
- int autoC7E372CE_ai;
-
// Variable Declarations
int lv_i;
int lv_ravagerPointIter;
int lv_roachPointIter;
int lv_spineCrawlerPointIter;
+ // Automatic Variable Declarations
+ int auto110EEEEB_ae;
+ const int auto110EEEEB_ai = 1;
+ int auto47EBB28A_ae;
+ const int auto47EBB28A_ai = 1;
+ int autoC7E372CE_ae;
+ const int autoC7E372CE_ai = 1;
+
// Variable Initialization
// Implementation
auto110EEEEB_ae = lp_ravagerCount;
- auto110EEEEB_ai = 1;
lv_i = 1;
- for ( ; ( (auto110EEEEB_ai >= 0 && lv_i <= auto110EEEEB_ae) || (auto110EEEEB_ai <= 0 && lv_i >= auto110EEEEB_ae) ) ; lv_i += auto110EEEEB_ai ) {
+ for ( ; ( (auto110EEEEB_ai >= 0 && lv_i <= auto110EEEEB_ae) || (auto110EEEEB_ai < 0 && lv_i >= auto110EEEEB_ae) ) ; lv_i += auto110EEEEB_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -700,9 +704,8 @@ void gf_UnloadSouthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawler
}
auto47EBB28A_ae = lp_roachCount;
- auto47EBB28A_ai = 1;
lv_i = 1;
- for ( ; ( (auto47EBB28A_ai >= 0 && lv_i <= auto47EBB28A_ae) || (auto47EBB28A_ai <= 0 && lv_i >= auto47EBB28A_ae) ) ; lv_i += auto47EBB28A_ai ) {
+ for ( ; ( (auto47EBB28A_ai >= 0 && lv_i <= auto47EBB28A_ae) || (auto47EBB28A_ai < 0 && lv_i >= auto47EBB28A_ae) ) ; lv_i += auto47EBB28A_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -720,9 +723,8 @@ void gf_UnloadSouthDefensesFromNydusWorm (unit lp_nydusWorm, int lp_spineCrawler
}
autoC7E372CE_ae = lp_spineCrawlerCount;
- autoC7E372CE_ai = 1;
lv_i = 1;
- for ( ; ( (autoC7E372CE_ai >= 0 && lv_i <= autoC7E372CE_ae) || (autoC7E372CE_ai <= 0 && lv_i >= autoC7E372CE_ae) ) ; lv_i += autoC7E372CE_ai ) {
+ for ( ; ( (autoC7E372CE_ai >= 0 && lv_i <= autoC7E372CE_ae) || (autoC7E372CE_ai < 0 && lv_i >= autoC7E372CE_ae) ) ; lv_i += autoC7E372CE_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -758,51 +760,74 @@ void gf_ZergIslandFortification (int lp_overlordCount) {
bool auto_gf_ZergIslandFortification_TriggerFunc (bool testConds, bool runActions) {
int lp_overlordCount = auto_gf_ZergIslandFortification_lp_overlordCount;
- int auto8D60F510_ae;
- int auto8D60F510_ai;
-
// Variable Declarations
int lv_i;
int lv_overlordsSent;
+ // Automatic Variable Declarations
+ const int auto8D60F510_ae = 5;
+ const int auto8D60F510_ai = 1;
+ unitgroup auto5CBA7A64_g;
+ int auto5CBA7A64_u;
+ unit auto5CBA7A64_var;
+ unitgroup autoAEE4C3E0_g;
+ int autoAEE4C3E0_u;
+ unit autoAEE4C3E0_var;
+ unitgroup auto7B3D1514_g;
+ int auto7B3D1514_u;
+ unit auto7B3D1514_var;
+ unitgroup autoFBD1277E_g;
+ int autoFBD1277E_u;
+ unit autoFBD1277E_var;
+ unitgroup auto8B1A6252_g;
+ int auto8B1A6252_u;
+ unit auto8B1A6252_var;
+ unitgroup autoC3C1E45D_g;
+ int autoC3C1E45D_u;
+ unit autoC3C1E45D_var;
+
// Variable Initialization
// Implementation
- auto8D60F510_ae = 5;
- auto8D60F510_ai = 1;
lv_i = 1;
- for ( ; ( (auto8D60F510_ai >= 0 && lv_i <= auto8D60F510_ae) || (auto8D60F510_ai <= 0 && lv_i >= auto8D60F510_ae) ) ; lv_i += auto8D60F510_ai ) {
+ for ( ; ( (auto8D60F510_ai >= 0 && lv_i <= auto8D60F510_ae) || (auto8D60F510_ai < 0 && lv_i >= auto8D60F510_ae) ) ; lv_i += auto8D60F510_ai ) {
if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_02_DOMINION2, RegionFromName(("North Zerg Island " + IntToString(lv_i))), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 0) && (lp_overlordCount > lv_overlordsSent)) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Overlord", 0, gv_pLAYER_02_DOMINION2, PointFromId(98));
AISetUnitScriptControlled(UnitLastCreated(), true);
if ((gv_islandFortificationZerglingCount > 0)) {
UnitCargoCreate(UnitLastCreated(), "Zergling", gv_islandFortificationZerglingCount);
- UnitGroupLoopBegin(UnitCargoLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWander", UnitGroupLoopCurrent(), 1);
+ auto5CBA7A64_g = UnitCargoLastCreatedGroup();
+ auto5CBA7A64_u = UnitGroupCount(auto5CBA7A64_g, c_unitCountAll);
+ for (;; auto5CBA7A64_u -= 1) {
+ auto5CBA7A64_var = UnitGroupUnitFromEnd(auto5CBA7A64_g, auto5CBA7A64_u);
+ if (auto5CBA7A64_var == null) { break; }
+ AISetUnitScriptControlled(auto5CBA7A64_var, true);
+ UnitBehaviorAdd(auto5CBA7A64_var, "CritterWander", auto5CBA7A64_var, 1);
}
- UnitGroupLoopEnd();
}
if ((gv_islandFortificationRoachCount > 0)) {
UnitCargoCreate(UnitLastCreated(), "Roach", gv_islandFortificationRoachCount);
- UnitGroupLoopBegin(UnitCargoLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWander", UnitGroupLoopCurrent(), 1);
+ autoAEE4C3E0_g = UnitCargoLastCreatedGroup();
+ autoAEE4C3E0_u = UnitGroupCount(autoAEE4C3E0_g, c_unitCountAll);
+ for (;; autoAEE4C3E0_u -= 1) {
+ autoAEE4C3E0_var = UnitGroupUnitFromEnd(autoAEE4C3E0_g, autoAEE4C3E0_u);
+ if (autoAEE4C3E0_var == null) { break; }
+ AISetUnitScriptControlled(autoAEE4C3E0_var, true);
+ UnitBehaviorAdd(autoAEE4C3E0_var, "CritterWander", autoAEE4C3E0_var, 1);
}
- UnitGroupLoopEnd();
}
if ((gv_islandFortificationHydraliskCount > 0)) {
UnitCargoCreate(UnitLastCreated(), "Hydralisk", gv_islandFortificationHydraliskCount);
- UnitGroupLoopBegin(UnitCargoLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWander", UnitGroupLoopCurrent(), 1);
+ auto7B3D1514_g = UnitCargoLastCreatedGroup();
+ auto7B3D1514_u = UnitGroupCount(auto7B3D1514_g, c_unitCountAll);
+ for (;; auto7B3D1514_u -= 1) {
+ auto7B3D1514_var = UnitGroupUnitFromEnd(auto7B3D1514_g, auto7B3D1514_u);
+ if (auto7B3D1514_var == null) { break; }
+ AISetUnitScriptControlled(auto7B3D1514_var, true);
+ UnitBehaviorAdd(auto7B3D1514_var, "CritterWander", auto7B3D1514_var, 1);
}
- UnitGroupLoopEnd();
}
UnitBehaviorAdd(UnitLastCreated(), "MercAirDrop", UnitLastCreated(), 1);
@@ -817,32 +842,38 @@ bool auto_gf_ZergIslandFortification_TriggerFunc (bool testConds, bool runAction
AISetUnitScriptControlled(UnitLastCreated(), true);
if ((gv_islandFortificationZerglingCount > 0)) {
UnitCargoCreate(UnitLastCreated(), "Zergling", gv_islandFortificationZerglingCount);
- UnitGroupLoopBegin(UnitCargoLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWander", UnitGroupLoopCurrent(), 1);
+ autoFBD1277E_g = UnitCargoLastCreatedGroup();
+ autoFBD1277E_u = UnitGroupCount(autoFBD1277E_g, c_unitCountAll);
+ for (;; autoFBD1277E_u -= 1) {
+ autoFBD1277E_var = UnitGroupUnitFromEnd(autoFBD1277E_g, autoFBD1277E_u);
+ if (autoFBD1277E_var == null) { break; }
+ AISetUnitScriptControlled(autoFBD1277E_var, true);
+ UnitBehaviorAdd(autoFBD1277E_var, "CritterWander", autoFBD1277E_var, 1);
}
- UnitGroupLoopEnd();
}
if ((gv_islandFortificationRoachCount > 0)) {
UnitCargoCreate(UnitLastCreated(), "Roach", gv_islandFortificationRoachCount);
- UnitGroupLoopBegin(UnitCargoLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWander", UnitGroupLoopCurrent(), 1);
+ auto8B1A6252_g = UnitCargoLastCreatedGroup();
+ auto8B1A6252_u = UnitGroupCount(auto8B1A6252_g, c_unitCountAll);
+ for (;; auto8B1A6252_u -= 1) {
+ auto8B1A6252_var = UnitGroupUnitFromEnd(auto8B1A6252_g, auto8B1A6252_u);
+ if (auto8B1A6252_var == null) { break; }
+ AISetUnitScriptControlled(auto8B1A6252_var, true);
+ UnitBehaviorAdd(auto8B1A6252_var, "CritterWander", auto8B1A6252_var, 1);
}
- UnitGroupLoopEnd();
}
if ((gv_islandFortificationHydraliskCount > 0)) {
UnitCargoCreate(UnitLastCreated(), "Hydralisk", gv_islandFortificationHydraliskCount);
- UnitGroupLoopBegin(UnitCargoLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWander", UnitGroupLoopCurrent(), 1);
+ autoC3C1E45D_g = UnitCargoLastCreatedGroup();
+ autoC3C1E45D_u = UnitGroupCount(autoC3C1E45D_g, c_unitCountAll);
+ for (;; autoC3C1E45D_u -= 1) {
+ autoC3C1E45D_var = UnitGroupUnitFromEnd(autoC3C1E45D_g, autoC3C1E45D_u);
+ if (autoC3C1E45D_var == null) { break; }
+ AISetUnitScriptControlled(autoC3C1E45D_var, true);
+ UnitBehaviorAdd(autoC3C1E45D_var, "CritterWander", autoC3C1E45D_var, 1);
}
- UnitGroupLoopEnd();
}
UnitBehaviorAdd(UnitLastCreated(), "MercAirDrop", UnitLastCreated(), 1);
@@ -857,16 +888,16 @@ bool auto_gf_ZergIslandFortification_TriggerFunc (bool testConds, bool runAction
}
point gf_AIGetRavagerTargetPoint (region lp_ravagerShotTargetRegion) {
- int auto15AD87D2_n;
- int auto15AD87D2_i;
-
// Variable Declarations
point lv_ravagerTargetPoint;
+ // Automatic Variable Declarations
+ const int auto15AD87D2_n = 50;
+ int auto15AD87D2_i;
+
// Variable Initialization
// Implementation
- auto15AD87D2_n = 50;
for (auto15AD87D2_i = 1; auto15AD87D2_i <= auto15AD87D2_n; auto15AD87D2_i += 1) {
lv_ravagerTargetPoint = RegionRandomPoint(lp_ravagerShotTargetRegion);
if ((CliffLevel(lv_ravagerTargetPoint) == CliffLevel(RegionGetCenter(lp_ravagerShotTargetRegion)))) {
@@ -893,6 +924,7 @@ void gf_MaintainForwardAttackMomentum (unit lp_assaultUnit) {
bool auto_gf_MaintainForwardAttackMomentum_TriggerFunc (bool testConds, bool runActions) {
unit lp_assaultUnit = auto_gf_MaintainForwardAttackMomentum_lp_assaultUnit;
+ // Automatic Variable Declarations
string auto4F06BE00_val;
// Implementation
@@ -936,6 +968,7 @@ bool auto_gf_MedivacPickupEvacUnits_TriggerFunc (bool testConds, bool runActions
unit lp_evacUnit = auto_gf_MedivacPickupEvacUnits_lp_evacUnit;
unit lp_medivac = auto_gf_MedivacPickupEvacUnits_lp_medivac;
+ // Automatic Variable Declarations
// Implementation
while (!(((libNtve_gf_UnitInRegion(lp_evacUnit, RegionCircle(UnitGetPosition(lp_medivac), 2.4)) == true) || (UnitIsAlive(lp_evacUnit) == false)))) {
Wait(0.2, c_timeGame);
@@ -953,6 +986,7 @@ bool auto_gf_MedivacPickupEvacUnits_TriggerFunc (bool testConds, bool runActions
// Trigger: Initialization
//--------------------------------------------------------------------------------------------------
bool gt_Initialization_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -986,6 +1020,7 @@ void gt_Initialization_Init () {
// Trigger: Init 01 Technology
//--------------------------------------------------------------------------------------------------
bool gt_Init01Technology_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1009,6 +1044,14 @@ void gt_Init01Technology_Init () {
// Trigger: Init 02 Players
//--------------------------------------------------------------------------------------------------
bool gt_Init02Players_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoB1D1D29A_g;
+ int autoB1D1D29A_var;
+ playergroup auto055A1A82_g;
+ int auto055A1A82_var;
+ playergroup auto82B07CD2_g;
+ int auto82B07CD2_var;
+
// Actions
if (!runActions) {
return true;
@@ -1026,20 +1069,24 @@ bool gt_Init02Players_Func (bool testConds, bool runActions) {
libNtve_gf_SetAlliance(gv_pLAYER_02_DOMINION3, gv_pLAYER_02_DOMINION4, libNtve_ge_AllianceSetting_AllyWithSharedVision);
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropMinerals, c_playerPropOperSetTo, 250);
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropVespene, c_playerPropOperSetTo, 50);
- PlayerGroupLoopBegin(gv_dominionPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateMineralCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateVespeneCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateFoodIgnored, true);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateMineralCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateVespeneCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateFoodIgnored, true);
- }
- PlayerGroupLoopEnd();
+ autoB1D1D29A_g = gv_dominionPlayerGroup;
+ autoB1D1D29A_var = -1;
+ while (true) {
+ autoB1D1D29A_var = PlayerGroupNextPlayer(autoB1D1D29A_g, autoB1D1D29A_var);
+ if (autoB1D1D29A_var < 0) { break; }
+ PlayerSetState(autoB1D1D29A_var, c_playerStateMineralCostIgnored, true);
+ PlayerSetState(autoB1D1D29A_var, c_playerStateVespeneCostIgnored, true);
+ PlayerSetState(autoB1D1D29A_var, c_playerStateFoodIgnored, true);
+ }
+ auto055A1A82_g = gv_zergPlayerGroup;
+ auto055A1A82_var = -1;
+ while (true) {
+ auto055A1A82_var = PlayerGroupNextPlayer(auto055A1A82_g, auto055A1A82_var);
+ if (auto055A1A82_var < 0) { break; }
+ PlayerSetState(auto055A1A82_var, c_playerStateMineralCostIgnored, true);
+ PlayerSetState(auto055A1A82_var, c_playerStateVespeneCostIgnored, true);
+ PlayerSetState(auto055A1A82_var, c_playerStateFoodIgnored, true);
+ }
TechTreeUpgradeAddLevel(gv_pLAYER_02_DOMINION, "FireSuppressionSystems", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_02_DOMINION2, "FasterLarvaSpawn", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_02_DOMINION2, "overlordspeed", 1);
@@ -1049,11 +1096,13 @@ bool gt_Init02Players_Func (bool testConds, bool runActions) {
TechTreeUpgradeAddLevel(gv_pLAYER_02_DOMINION3, "overlordtransport", 1);
AIToggleBulliesInRegion(gv_pLAYER_02_DOMINION2, RegionFromId(1), true);
AIToggleBulliesInRegion(gv_pLAYER_02_DOMINION3, RegionFromId(1), true);
- PlayerGroupLoopBegin(PlayerGroupAll());
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "SnowVisual", 1);
+ auto82B07CD2_g = PlayerGroupAll();
+ auto82B07CD2_var = -1;
+ while (true) {
+ auto82B07CD2_var = PlayerGroupNextPlayer(auto82B07CD2_g, auto82B07CD2_var);
+ if (auto82B07CD2_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto82B07CD2_var, "SnowVisual", 1);
}
- PlayerGroupLoopEnd();
TechTreeUpgradeAddLevel(gv_pLAYER_02_DOMINION6, "DOM", 1);
PlayerSetColorIndex(gv_pLAYER_02_DOMINION2, 6, true);
PlayerSetColorIndex(gv_pLAYER_02_DOMINION3, 6, true);
@@ -1075,6 +1124,17 @@ bool gt_Init03Units_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_cinematicSceneSettingUnits;
+ // Automatic Variable Declarations
+ unitgroup autoB5C31E77_g;
+ int autoB5C31E77_u;
+ unit autoB5C31E77_var;
+ unitgroup autoD0A35DB7_g;
+ int autoD0A35DB7_u;
+ unit autoD0A35DB7_var;
+ unitgroup autoBBAC101C_g;
+ int autoBBAC101C_u;
+ unit autoBBAC101C_var;
+
// Variable Initialization
lv_cinematicSceneSettingUnits = UnitGroupEmpty();
@@ -1097,23 +1157,29 @@ bool gt_Init03Units_Func (bool testConds, bool runActions) {
UnitGroupAdd(gv_innerBunkers, UnitFromId(7));
UnitGroupAdd(gv_innerBunkers, UnitFromId(6));
UnitGroupAdd(gv_innerBunkers, UnitFromId(206));
- UnitGroupLoopBegin(UnitGroup("Bunker", gv_pLAYER_02_DOMINION, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitCargoCreate(UnitGroupLoopCurrent(), "Marine", 4);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Bunker", gv_pLAYER_02_DOMINION5, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitCargoCreate(UnitGroupLoopCurrent(), "Marine", 4);
+ autoB5C31E77_g = UnitGroup("Bunker", gv_pLAYER_02_DOMINION, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoB5C31E77_u = UnitGroupCount(autoB5C31E77_g, c_unitCountAll);
+ for (;; autoB5C31E77_u -= 1) {
+ autoB5C31E77_var = UnitGroupUnitFromEnd(autoB5C31E77_g, autoB5C31E77_u);
+ if (autoB5C31E77_var == null) { break; }
+ UnitCargoCreate(autoB5C31E77_var, "Marine", 4);
+ }
+ autoD0A35DB7_g = UnitGroup("Bunker", gv_pLAYER_02_DOMINION5, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD0A35DB7_u = UnitGroupCount(autoD0A35DB7_g, c_unitCountAll);
+ for (;; autoD0A35DB7_u -= 1) {
+ autoD0A35DB7_var = UnitGroupUnitFromEnd(autoD0A35DB7_g, autoD0A35DB7_u);
+ if (autoD0A35DB7_var == null) { break; }
+ UnitCargoCreate(autoD0A35DB7_var, "Marine", 4);
AISetGroupScriptControlled(UnitCargoLastCreatedGroup(), true);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION7, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ autoBBAC101C_g = UnitGroup(null, gv_pLAYER_02_DOMINION7, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoBBAC101C_u = UnitGroupCount(autoBBAC101C_g, c_unitCountAll);
+ for (;; autoBBAC101C_u -= 1) {
+ autoBBAC101C_var = UnitGroupUnitFromEnd(autoBBAC101C_g, autoBBAC101C_u);
+ if (autoBBAC101C_var == null) { break; }
+ libNtve_gf_PauseUnit(autoBBAC101C_var, true);
+ libNtve_gf_ShowHideUnit(autoBBAC101C_var, false);
}
- UnitGroupLoopEnd();
return true;
}
@@ -1126,6 +1192,7 @@ void gt_Init03Units_Init () {
// Trigger: Init 04 Music/Sound
//--------------------------------------------------------------------------------------------------
bool gt_Init04MusicSound_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1144,6 +1211,11 @@ void gt_Init04MusicSound_Init () {
// Trigger: Init 05 Environment
//--------------------------------------------------------------------------------------------------
bool gt_Init05Environment_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoAB9E6788_g;
+ int autoAB9E6788_u;
+ unit autoAB9E6788_var;
+
// Actions
if (!runActions) {
return true;
@@ -1154,15 +1226,17 @@ bool gt_Init05Environment_Func (bool testConds, bool runActions) {
UnitIssueOrder(UnitFromId(703), Order(AbilityCommand("SnowRefinery_Terran_ExtendingBridgeNWShort8", 0)), c_orderQueueReplace);
UnitBehaviorAdd(UnitFromId(710), "InstantMorph", UnitFromId(710), 1);
UnitIssueOrder(UnitFromId(710), Order(AbilityCommand("MoebiusLabDoorsWideRight", 0)), c_orderQueueReplace);
- UnitGroupLoopBegin(UnitGroup("Medivac", gv_pLAYER_02_DOMINION5, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetHeight(UnitGroupLoopCurrent(), 0.5, 0.0);
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "AnimSetPausedAll");
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateMoveSuppressed, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTurnSuppressed, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateInvulnerable, true);
- }
- UnitGroupLoopEnd();
+ autoAB9E6788_g = UnitGroup("Medivac", gv_pLAYER_02_DOMINION5, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoAB9E6788_u = UnitGroupCount(autoAB9E6788_g, c_unitCountAll);
+ for (;; autoAB9E6788_u -= 1) {
+ autoAB9E6788_var = UnitGroupUnitFromEnd(autoAB9E6788_g, autoAB9E6788_u);
+ if (autoAB9E6788_var == null) { break; }
+ UnitSetHeight(autoAB9E6788_var, 0.5, 0.0);
+ libNtve_gf_SendActorMessageToUnit(autoAB9E6788_var, "AnimSetPausedAll");
+ UnitSetState(autoAB9E6788_var, c_unitStateMoveSuppressed, false);
+ UnitSetState(autoAB9E6788_var, c_unitStateTurnSuppressed, false);
+ UnitSetState(autoAB9E6788_var, c_unitStateInvulnerable, true);
+ }
UnitBehaviorAdd(UnitFromId(1174), "PermanentlyCloaked", UnitFromId(1174), 1);
UnitBehaviorAdd(UnitFromId(1174), "CritterWanderLeash", UnitFromId(1174), 1);
TechTreeUpgradeAddLevel(gv_pLAYER_01_USER, "NovaOutdoorSounds", 1);
@@ -1178,6 +1252,12 @@ void gt_Init05Environment_Init () {
// Trigger: Init 06 Difficulties
//--------------------------------------------------------------------------------------------------
bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto9D29F838_g;
+ int auto9D29F838_var;
+ playergroup auto22BE63E6_g;
+ int auto22BE63E6_var;
+
// Actions
if (!runActions) {
return true;
@@ -1200,26 +1280,30 @@ bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
CatalogFieldValueSet(c_gameCatalogEffect, "BrutalizeDamage", "Amount", gv_pLAYER_02_DOMINION2, IntToString(gv_brutaliskDamage));
CatalogFieldValueSet(c_gameCatalogEffect, "BrutalizeDamage", "Amount", gv_pLAYER_02_DOMINION3, IntToString(gv_brutaliskDamage));
if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1)) {
- PlayerGroupLoopBegin(gv_dominionPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranInfantryWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranVehicleAndShipWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranInfantryArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranVehicleAndShipArmorsLevel1", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "zerglingattackspeed", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "CentrificalHooks", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "GlialReconstitution", 1);
- }
- PlayerGroupLoopEnd();
+ auto9D29F838_g = gv_dominionPlayerGroup;
+ auto9D29F838_var = -1;
+ while (true) {
+ auto9D29F838_var = PlayerGroupNextPlayer(auto9D29F838_g, auto9D29F838_var);
+ if (auto9D29F838_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto9D29F838_var, "TerranInfantryWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto9D29F838_var, "TerranVehicleAndShipWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto9D29F838_var, "TerranInfantryArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto9D29F838_var, "TerranVehicleAndShipArmorsLevel1", 1);
+ }
+ auto22BE63E6_g = gv_zergPlayerGroup;
+ auto22BE63E6_var = -1;
+ while (true) {
+ auto22BE63E6_var = PlayerGroupNextPlayer(auto22BE63E6_g, auto22BE63E6_var);
+ if (auto22BE63E6_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "ZergMissileWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "ZergGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "ZergFlyerArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "zerglingattackspeed", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "CentrificalHooks", 1);
+ TechTreeUpgradeAddLevel(auto22BE63E6_var, "GlialReconstitution", 1);
+ }
}
return true;
@@ -1234,6 +1318,7 @@ void gt_Init06Difficulties_Init () {
// Trigger: Init 07 Help
//--------------------------------------------------------------------------------------------------
bool gt_Init07Help_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1269,6 +1354,7 @@ void gt_Init07Help_Init () {
// Trigger: Start Game Q
//--------------------------------------------------------------------------------------------------
bool gt_StartGameQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1301,6 +1387,7 @@ void gt_StartGameQ_Init () {
// Trigger: Bonus Objective North Reveal Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNorthRevealQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1341,6 +1428,7 @@ void gt_BonusObjectiveNorthRevealQ_Init () {
// Trigger: Bonus Obj North Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1379,6 +1467,7 @@ void gt_BonusObjNorthWarningQ_Init () {
// Trigger: Bonus Obj North Saved Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthSavedQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1418,6 +1507,7 @@ void gt_BonusObjNorthSavedQ_Init () {
// Trigger: Bonus Obj North Lost Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthLostQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1456,6 +1546,14 @@ void gt_BonusObjNorthLostQ_Init () {
// Trigger: Bonus Obj North Spawn
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthSpawn_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto3D2E3470_g;
+ int auto3D2E3470_u;
+ unit auto3D2E3470_var;
+ unitgroup auto6CE5BEFA_g;
+ int auto6CE5BEFA_u;
+ unit auto6CE5BEFA_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1482,16 +1580,20 @@ bool gt_BonusObjNorthSpawn_Func (bool testConds, bool runActions) {
gf_SpawnNydusWorm(PointFromId(445), UnitGetPosition(UnitFromId(945)));
Wait(4.0, c_timeAI);
UnitIssueOrder(UnitFromId(703), Order(AbilityCommand("SnowRefinery_Terran_ExtendingBridgeNWShort8Out", 0)), c_orderQueueReplace);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), true, gv_pLAYER_01_USER);
+ auto3D2E3470_g = UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto3D2E3470_u = UnitGroupCount(auto3D2E3470_g, c_unitCountAll);
+ for (;; auto3D2E3470_u -= 1) {
+ auto3D2E3470_var = UnitGroupUnitFromEnd(auto3D2E3470_g, auto3D2E3470_u);
+ if (auto3D2E3470_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(auto3D2E3470_var, true, gv_pLAYER_01_USER);
+ }
+ auto6CE5BEFA_g = UnitGroup("NydusCanal", gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto6CE5BEFA_u = UnitGroupCount(auto6CE5BEFA_g, c_unitCountAll);
+ for (;; auto6CE5BEFA_u -= 1) {
+ auto6CE5BEFA_var = UnitGroupUnitFromEnd(auto6CE5BEFA_g, auto6CE5BEFA_u);
+ if (auto6CE5BEFA_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(auto6CE5BEFA_var, true, gv_pLAYER_01_USER);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("NydusCanal", gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), true, gv_pLAYER_01_USER);
- }
- UnitGroupLoopEnd();
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingSimple", PointFromId(445), ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 0.0, 270.0);
gv_bonusObjNorthPing = PingLastCreated();
PingSetTooltip(gv_bonusObjNorthPing, StringExternal("Param/Value/C2A4FFEA"));
@@ -1510,6 +1612,7 @@ void gt_BonusObjNorthSpawn_Init () {
// Trigger: Bonus Obj North Zerg Killed
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthZergKilled_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1558,8 +1661,18 @@ void gt_BonusObjNorthZergKilled_Init () {
// Trigger: Bonus Obj North Rescue
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthRescue_Func (bool testConds, bool runActions) {
- int auto94736E19_n;
+ // Automatic Variable Declarations
+ const int auto94736E19_n = 4;
int auto94736E19_i;
+ unitgroup auto3F9CFA05_g;
+ int auto3F9CFA05_u;
+ unit auto3F9CFA05_var;
+ unitgroup auto87CF0754_g;
+ int auto87CF0754_u;
+ unit auto87CF0754_var;
+ unitgroup auto56BDD4A6_g;
+ int auto56BDD4A6_u;
+ unit auto56BDD4A6_var;
// Conditions
if (testConds) {
@@ -1582,15 +1695,16 @@ bool gt_BonusObjNorthRescue_Func (bool testConds, bool runActions) {
}
TriggerEnable(TriggerGetCurrent(), false);
- auto94736E19_n = 4;
for (auto94736E19_i = 1; auto94736E19_i <= auto94736E19_n; auto94736E19_i += 1) {
UnitCreate(2, "Scientist", 0, gv_pLAYER_02_DOMINION5, PointFromId(673), PointGetFacing(PointFromId(673)));
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "Scared", UnitGroupLoopCurrent(), 1);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(null, UnitFromId(661)), c_orderQueueReplace);
+ auto3F9CFA05_g = UnitLastCreatedGroup();
+ auto3F9CFA05_u = UnitGroupCount(auto3F9CFA05_g, c_unitCountAll);
+ for (;; auto3F9CFA05_u -= 1) {
+ auto3F9CFA05_var = UnitGroupUnitFromEnd(auto3F9CFA05_g, auto3F9CFA05_u);
+ if (auto3F9CFA05_var == null) { break; }
+ UnitBehaviorAdd(auto3F9CFA05_var, "Scared", auto3F9CFA05_var, 1);
+ UnitIssueOrder(auto3F9CFA05_var, OrderTargetingUnit(null, UnitFromId(661)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
Wait(0.5, c_timeAI);
}
libNtve_gf_CreateUnitsWithDefaultFacing(1, "PickupNovaTechnology", 0, 0, PointWithOffset(PointFromId(673), -2.0, -2.0));
@@ -1607,20 +1721,24 @@ bool gt_BonusObjNorthRescue_Func (bool testConds, bool runActions) {
Wait(1.0, c_timeAI);
}
UnitCreateEffectUnit(UnitLastCreated(), "PickupNovaTechnologySet", UnitLastCreated());
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), false, gv_pLAYER_01_USER);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Medivac", gv_pLAYER_02_DOMINION5, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetHeight(UnitGroupLoopCurrent(), 4.0, 3.0);
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "AnimSetPausedAll 0");
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateMoveSuppressed, true);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTurnSuppressed, true);
- gf_GoToRegionandDespawn(UnitGroupLoopCurrent(), RegionFromId(23));
- }
- UnitGroupLoopEnd();
+ auto87CF0754_g = UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto87CF0754_u = UnitGroupCount(auto87CF0754_g, c_unitCountAll);
+ for (;; auto87CF0754_u -= 1) {
+ auto87CF0754_var = UnitGroupUnitFromEnd(auto87CF0754_g, auto87CF0754_u);
+ if (auto87CF0754_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(auto87CF0754_var, false, gv_pLAYER_01_USER);
+ }
+ auto56BDD4A6_g = UnitGroup("Medivac", gv_pLAYER_02_DOMINION5, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto56BDD4A6_u = UnitGroupCount(auto56BDD4A6_g, c_unitCountAll);
+ for (;; auto56BDD4A6_u -= 1) {
+ auto56BDD4A6_var = UnitGroupUnitFromEnd(auto56BDD4A6_g, auto56BDD4A6_u);
+ if (auto56BDD4A6_var == null) { break; }
+ UnitSetHeight(auto56BDD4A6_var, 4.0, 3.0);
+ libNtve_gf_SendActorMessageToUnit(auto56BDD4A6_var, "AnimSetPausedAll 0");
+ UnitSetState(auto56BDD4A6_var, c_unitStateMoveSuppressed, true);
+ UnitSetState(auto56BDD4A6_var, c_unitStateTurnSuppressed, true);
+ gf_GoToRegionandDespawn(auto56BDD4A6_var, RegionFromId(23));
+ }
return true;
}
@@ -1633,6 +1751,11 @@ void gt_BonusObjNorthRescue_Init () {
// Trigger: Bonus Obj North Worm Killed
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthWormKilled_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoC2987B0D_g;
+ int autoC2987B0D_u;
+ unit autoC2987B0D_var;
+
// Conditions
if (testConds) {
if (!((UnitGetOwner(EventUnit()) == gv_pLAYER_02_DOMINION4))) {
@@ -1667,20 +1790,22 @@ bool gt_BonusObjNorthWormKilled_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
while ((UnitGroupCount(UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) > 0)) {
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) == "SpineCrawler") && (DistanceBetweenPoints(UnitGetPosition(UnitGroupLoopCurrent()), PointFromId(218)) < 1)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("SpineCrawlerUproot", 0)), c_orderQueueReplace);
+ autoC2987B0D_g = UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC2987B0D_u = UnitGroupCount(autoC2987B0D_g, c_unitCountAll);
+ for (;; autoC2987B0D_u -= 1) {
+ autoC2987B0D_var = UnitGroupUnitFromEnd(autoC2987B0D_g, autoC2987B0D_u);
+ if (autoC2987B0D_var == null) { break; }
+ if ((UnitGetType(autoC2987B0D_var) == "SpineCrawler") && (DistanceBetweenPoints(UnitGetPosition(autoC2987B0D_var), PointFromId(218)) < 1)) {
+ UnitIssueOrder(autoC2987B0D_var, Order(AbilityCommand("SpineCrawlerUproot", 0)), c_orderQueueReplace);
}
- else if ((UnitGetType(UnitGroupLoopCurrent()) == "SpineCrawlerUprooted")) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(112)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("SpineCrawlerRoot", 0), PointFromId(112)), c_orderQueueAddToEnd);
+ else if ((UnitGetType(autoC2987B0D_var) == "SpineCrawlerUprooted")) {
+ UnitIssueOrder(autoC2987B0D_var, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(112)), c_orderQueueReplace);
+ UnitIssueOrder(autoC2987B0D_var, OrderTargetingPoint(AbilityCommand("SpineCrawlerRoot", 0), PointFromId(112)), c_orderQueueAddToEnd);
}
else if (true) {
- UnitIssueOrder(UnitGroupLoopCurrent(), libNtve_gf_ReviveOrderTargetingPoint(AbilityCommand("attack", 0), UnitGetPosition(UnitFromId(945)), EventUnit()), c_orderQueueReplace);
+ UnitIssueOrder(autoC2987B0D_var, libNtve_gf_ReviveOrderTargetingPoint(AbilityCommand("attack", 0), UnitGetPosition(UnitFromId(945)), EventUnit()), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
}
return true;
@@ -1697,6 +1822,11 @@ void gt_BonusObjNorthWormKilled_Init () {
// Trigger: Bonus Obj North Facility Killed
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthFacilityKilled_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoD72280F7_g;
+ int autoD72280F7_u;
+ unit autoD72280F7_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1721,11 +1851,13 @@ bool gt_BonusObjNorthFacilityKilled_Func (bool testConds, bool runActions) {
TriggerEnable(gt_BonusObjNorthZergKilled, false);
TriggerEnable(gt_BonusObjNorthWormKilled, false);
PingDestroy(gv_bonusObjNorthPing);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), false, gv_pLAYER_01_USER);
+ autoD72280F7_g = UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(17), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoD72280F7_u = UnitGroupCount(autoD72280F7_g, c_unitCountAll);
+ for (;; autoD72280F7_u -= 1) {
+ autoD72280F7_var = UnitGroupUnitFromEnd(autoD72280F7_g, autoD72280F7_u);
+ if (autoD72280F7_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(autoD72280F7_var, false, gv_pLAYER_01_USER);
}
- UnitGroupLoopEnd();
TriggerExecute(gt_ObjectiveSecureArmyTechFailed, true, false);
TriggerExecute(gt_BonusObjNorthLostQ, true, false);
return true;
@@ -1741,6 +1873,7 @@ void gt_BonusObjNorthFacilityKilled_Init () {
// Trigger: Bonus Obj North Crawler Morph
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjNorthCrawlerMorph_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNtve_gf_TriggeringProgressUnitType() == "SpineCrawler"))) {
@@ -1783,6 +1916,7 @@ void gt_BonusObjNorthCrawlerMorph_Init () {
// Trigger: Bonus Objective South Reveal Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveSouthRevealQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1822,6 +1956,7 @@ void gt_BonusObjectiveSouthRevealQ_Init () {
// Trigger: Bonus Obj South Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1869,6 +2004,7 @@ void gt_BonusObjSouthWarningQ_Init () {
// Trigger: Bonus Obj South Saved Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthSavedQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1914,6 +2050,7 @@ void gt_BonusObjSouthSavedQ_Init () {
// Trigger: Bonus Obj South Lost Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthLostQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1957,6 +2094,14 @@ void gt_BonusObjSouthLostQ_Init () {
// Trigger: Bonus Obj South Spawn
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthSpawn_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto9F670569_g;
+ int auto9F670569_u;
+ unit auto9F670569_var;
+ unitgroup autoBB15191D_g;
+ int autoBB15191D_u;
+ unit autoBB15191D_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1985,16 +2130,20 @@ bool gt_BonusObjSouthSpawn_Func (bool testConds, bool runActions) {
gf_SpawnNydusWorm(PointFromId(251), UnitGetPosition(UnitFromId(642)));
Wait(4.0, c_timeAI);
UnitIssueOrder(UnitFromId(710), Order(AbilityCommand("MoebiusLabDoorsWideRightLowered", 0)), c_orderQueueReplace);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), true, gv_pLAYER_01_USER);
+ auto9F670569_g = UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto9F670569_u = UnitGroupCount(auto9F670569_g, c_unitCountAll);
+ for (;; auto9F670569_u -= 1) {
+ auto9F670569_var = UnitGroupUnitFromEnd(auto9F670569_g, auto9F670569_u);
+ if (auto9F670569_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(auto9F670569_var, true, gv_pLAYER_01_USER);
+ }
+ autoBB15191D_g = UnitGroup("NydusCanal", gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoBB15191D_u = UnitGroupCount(autoBB15191D_g, c_unitCountAll);
+ for (;; autoBB15191D_u -= 1) {
+ autoBB15191D_var = UnitGroupUnitFromEnd(autoBB15191D_g, autoBB15191D_u);
+ if (autoBB15191D_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(autoBB15191D_var, true, gv_pLAYER_01_USER);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("NydusCanal", gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), true, gv_pLAYER_01_USER);
- }
- UnitGroupLoopEnd();
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingSimple", PointFromId(251), ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 0.0, 270.0);
gv_bonusObjSouthPing = PingLastCreated();
PingSetTooltip(gv_bonusObjSouthPing, StringExternal("Param/Value/A328851B"));
@@ -2013,6 +2162,7 @@ void gt_BonusObjSouthSpawn_Init () {
// Trigger: Bonus Obj South Zerg Killed
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthZergKilled_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2061,8 +2211,18 @@ void gt_BonusObjSouthZergKilled_Init () {
// Trigger: Bonus Obj South Rescue
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthRescue_Func (bool testConds, bool runActions) {
- int auto725FFBBF_n;
+ // Automatic Variable Declarations
+ const int auto725FFBBF_n = 4;
int auto725FFBBF_i;
+ unitgroup autoF17037E7_g;
+ int autoF17037E7_u;
+ unit autoF17037E7_var;
+ unitgroup auto942FBE42_g;
+ int auto942FBE42_u;
+ unit auto942FBE42_var;
+ unitgroup auto16E82C10_g;
+ int auto16E82C10_u;
+ unit auto16E82C10_var;
// Conditions
if (testConds) {
@@ -2085,15 +2245,16 @@ bool gt_BonusObjSouthRescue_Func (bool testConds, bool runActions) {
}
TriggerEnable(TriggerGetCurrent(), false);
- auto725FFBBF_n = 4;
for (auto725FFBBF_i = 1; auto725FFBBF_i <= auto725FFBBF_n; auto725FFBBF_i += 1) {
UnitCreate(2, "Scientist", 0, gv_pLAYER_02_DOMINION5, PointFromId(1161), PointGetFacing(PointFromId(673)));
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "Scared", UnitGroupLoopCurrent(), 1);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(null, UnitFromId(1159)), c_orderQueueReplace);
+ autoF17037E7_g = UnitLastCreatedGroup();
+ autoF17037E7_u = UnitGroupCount(autoF17037E7_g, c_unitCountAll);
+ for (;; autoF17037E7_u -= 1) {
+ autoF17037E7_var = UnitGroupUnitFromEnd(autoF17037E7_g, autoF17037E7_u);
+ if (autoF17037E7_var == null) { break; }
+ UnitBehaviorAdd(autoF17037E7_var, "Scared", autoF17037E7_var, 1);
+ UnitIssueOrder(autoF17037E7_var, OrderTargetingUnit(null, UnitFromId(1159)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
Wait(0.5, c_timeAI);
}
libNtve_gf_CreateUnitsWithDefaultFacing(1, "PickupNovaEquipment", 0, 0, PointWithOffset(PointFromId(1161), -2.0, -2.0));
@@ -2110,20 +2271,24 @@ bool gt_BonusObjSouthRescue_Func (bool testConds, bool runActions) {
Wait(1.0, c_timeAI);
}
UnitCreateEffectUnit(UnitLastCreated(), "PickupNovaEquipmentSet", UnitLastCreated());
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), false, gv_pLAYER_01_USER);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Medivac", gv_pLAYER_02_DOMINION5, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetHeight(UnitGroupLoopCurrent(), 4.0, 3.0);
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "AnimSetPausedAll 0");
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateMoveSuppressed, true);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTurnSuppressed, true);
- gf_GoToRegionandDespawn(UnitGroupLoopCurrent(), RegionFromId(27));
- }
- UnitGroupLoopEnd();
+ auto942FBE42_g = UnitGroup(null, gv_pLAYER_02_DOMINION5, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto942FBE42_u = UnitGroupCount(auto942FBE42_g, c_unitCountAll);
+ for (;; auto942FBE42_u -= 1) {
+ auto942FBE42_var = UnitGroupUnitFromEnd(auto942FBE42_g, auto942FBE42_u);
+ if (auto942FBE42_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(auto942FBE42_var, false, gv_pLAYER_01_USER);
+ }
+ auto16E82C10_g = UnitGroup("Medivac", gv_pLAYER_02_DOMINION5, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto16E82C10_u = UnitGroupCount(auto16E82C10_g, c_unitCountAll);
+ for (;; auto16E82C10_u -= 1) {
+ auto16E82C10_var = UnitGroupUnitFromEnd(auto16E82C10_g, auto16E82C10_u);
+ if (auto16E82C10_var == null) { break; }
+ UnitSetHeight(auto16E82C10_var, 4.0, 3.0);
+ libNtve_gf_SendActorMessageToUnit(auto16E82C10_var, "AnimSetPausedAll 0");
+ UnitSetState(auto16E82C10_var, c_unitStateMoveSuppressed, true);
+ UnitSetState(auto16E82C10_var, c_unitStateTurnSuppressed, true);
+ gf_GoToRegionandDespawn(auto16E82C10_var, RegionFromId(27));
+ }
return true;
}
@@ -2136,6 +2301,11 @@ void gt_BonusObjSouthRescue_Init () {
// Trigger: Bonus Obj South Worm Killed
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthWormKilled_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoDCF73225_g;
+ int autoDCF73225_u;
+ unit autoDCF73225_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2170,20 +2340,22 @@ bool gt_BonusObjSouthWormKilled_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
while ((UnitGroupCount(UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) > 0)) {
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) == "SpineCrawler") && (DistanceBetweenPoints(UnitGetPosition(UnitGroupLoopCurrent()), PointFromId(252)) < 1)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("SpineCrawlerUproot", 0)), c_orderQueueReplace);
+ autoDCF73225_g = UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoDCF73225_u = UnitGroupCount(autoDCF73225_g, c_unitCountAll);
+ for (;; autoDCF73225_u -= 1) {
+ autoDCF73225_var = UnitGroupUnitFromEnd(autoDCF73225_g, autoDCF73225_u);
+ if (autoDCF73225_var == null) { break; }
+ if ((UnitGetType(autoDCF73225_var) == "SpineCrawler") && (DistanceBetweenPoints(UnitGetPosition(autoDCF73225_var), PointFromId(252)) < 1)) {
+ UnitIssueOrder(autoDCF73225_var, Order(AbilityCommand("SpineCrawlerUproot", 0)), c_orderQueueReplace);
}
- else if ((UnitGetType(UnitGroupLoopCurrent()) == "SpineCrawlerUprooted")) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(111)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("SpineCrawlerRoot", 0), PointFromId(111)), c_orderQueueAddToEnd);
+ else if ((UnitGetType(autoDCF73225_var) == "SpineCrawlerUprooted")) {
+ UnitIssueOrder(autoDCF73225_var, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(111)), c_orderQueueReplace);
+ UnitIssueOrder(autoDCF73225_var, OrderTargetingPoint(AbilityCommand("SpineCrawlerRoot", 0), PointFromId(111)), c_orderQueueAddToEnd);
}
else if (true) {
- UnitIssueOrder(UnitGroupLoopCurrent(), libNtve_gf_ReviveOrderTargetingPoint(AbilityCommand("attack", 0), UnitGetPosition(UnitFromId(642)), EventUnit()), c_orderQueueReplace);
+ UnitIssueOrder(autoDCF73225_var, libNtve_gf_ReviveOrderTargetingPoint(AbilityCommand("attack", 0), UnitGetPosition(UnitFromId(642)), EventUnit()), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
}
return true;
@@ -2200,6 +2372,11 @@ void gt_BonusObjSouthWormKilled_Init () {
// Trigger: Bonus Obj South Facility Killed
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthFacilityKilled_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto009C4088_g;
+ int auto009C4088_u;
+ unit auto009C4088_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2224,11 +2401,13 @@ bool gt_BonusObjSouthFacilityKilled_Func (bool testConds, bool runActions) {
TriggerEnable(gt_BonusObjSouthZergKilled, false);
TriggerEnable(gt_BonusObjSouthWormKilled, false);
PingDestroy(gv_bonusObjSouthPing);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), false, gv_pLAYER_01_USER);
+ auto009C4088_g = UnitGroup(null, gv_pLAYER_02_DOMINION4, RegionFromId(19), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto009C4088_u = UnitGroupCount(auto009C4088_g, c_unitCountAll);
+ for (;; auto009C4088_u -= 1) {
+ auto009C4088_var = UnitGroupUnitFromEnd(auto009C4088_g, auto009C4088_u);
+ if (auto009C4088_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(auto009C4088_var, false, gv_pLAYER_01_USER);
}
- UnitGroupLoopEnd();
TriggerExecute(gt_ObjectiveSecureNovaTechFailed, true, false);
TriggerExecute(gt_BonusObjSouthLostQ, true, false);
return true;
@@ -2244,6 +2423,7 @@ void gt_BonusObjSouthFacilityKilled_Init () {
// Trigger: Bonus Obj South Crawler Morph
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthCrawlerMorph_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2286,6 +2466,7 @@ void gt_BonusObjSouthCrawlerMorph_Init () {
// Trigger: Bonus Obj South Ravager Shots
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjSouthRavagerShots_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2339,6 +2520,7 @@ void gt_BonusObjSouthRavagerShots_Init () {
// Trigger: (Wave 1) Wave Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave1WaveIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2377,6 +2559,7 @@ void gt_Wave1WaveIncomingQ_Init () {
// Trigger: (Wave 2) Wave Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave2WaveIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2415,6 +2598,7 @@ void gt_Wave2WaveIncomingQ_Init () {
// Trigger: (Wave 3) Banelings Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave3BanelingsIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2453,6 +2637,7 @@ void gt_Wave3BanelingsIncomingQ_Init () {
// Trigger: (Wave 4) Wave Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave4WaveIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2491,6 +2676,7 @@ void gt_Wave4WaveIncomingQ_Init () {
// Trigger: (Wave 5) Ravagers Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave5RavagersIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2529,6 +2715,7 @@ void gt_Wave5RavagersIncomingQ_Init () {
// Trigger: (Wave 6) Wave Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave6WaveIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2567,6 +2754,7 @@ void gt_Wave6WaveIncomingQ_Init () {
// Trigger: (Wave 7) Defilers Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave7DefilersIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2605,6 +2793,7 @@ void gt_Wave7DefilersIncomingQ_Init () {
// Trigger: (Wave 8) Wave Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave8WaveIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2643,6 +2832,7 @@ void gt_Wave8WaveIncomingQ_Init () {
// Trigger: (Wave 9/10) Double Wave Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave910DoubleWaveQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2681,6 +2871,7 @@ void gt_Wave910DoubleWaveQ_Init () {
// Trigger: (Wave 11) Ultralisks Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave11UltralisksIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2719,6 +2910,7 @@ void gt_Wave11UltralisksIncomingQ_Init () {
// Trigger: (Wave 12) Boss Wave Incoming Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave12BossWaveIncomingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2757,6 +2949,7 @@ void gt_Wave12BossWaveIncomingQ_Init () {
// Trigger: (Wave 13/14) Final Wave Q
//--------------------------------------------------------------------------------------------------
bool gt_Wave1314FinalWaveQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2796,6 +2989,7 @@ void gt_Wave1314FinalWaveQ_Init () {
// Trigger: Break Time 1 Q
//--------------------------------------------------------------------------------------------------
bool gt_BreakTime1Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2846,6 +3040,7 @@ void gt_BreakTime1Q_Init () {
// Trigger: Break Time 2
//--------------------------------------------------------------------------------------------------
bool gt_BreakTime2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2887,6 +3082,7 @@ void gt_BreakTime2_Init () {
// Trigger: Break Time 3 Q
//--------------------------------------------------------------------------------------------------
bool gt_BreakTime3Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2945,6 +3141,7 @@ void gt_BreakTime3Q_Init () {
// Trigger: Break Time 4
//--------------------------------------------------------------------------------------------------
bool gt_BreakTime4_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2986,6 +3183,7 @@ void gt_BreakTime4_Init () {
// Trigger: Break Time 5 Q
//--------------------------------------------------------------------------------------------------
bool gt_BreakTime5Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3030,6 +3228,7 @@ void gt_BreakTime5Q_Init () {
// Trigger: Break Time 6 Q
//--------------------------------------------------------------------------------------------------
bool gt_BreakTime6Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3076,6 +3275,7 @@ void gt_BreakTime6Q_Init () {
// Trigger: Outer Defenses Q
//--------------------------------------------------------------------------------------------------
bool gt_OuterDefensesQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3127,6 +3327,7 @@ void gt_OuterDefensesQ_Init () {
// Trigger: Inner Defenses Q
//--------------------------------------------------------------------------------------------------
bool gt_InnerDefensesQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3178,6 +3379,7 @@ void gt_InnerDefensesQ_Init () {
// Trigger: Don't Go To Enemy Base Q
//--------------------------------------------------------------------------------------------------
bool gt_DontGoToEnemyBaseQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3221,12 +3423,13 @@ void gt_DontGoToEnemyBaseQ_Init () {
// Trigger: Zerg Fortification Tumor Bullies
//--------------------------------------------------------------------------------------------------
bool gt_ZergFortificationTumorBullies_Func (bool testConds, bool runActions) {
- int autoC1FB2790_ae;
- int autoC1FB2790_ai;
-
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ const int autoC1FB2790_ae = 5;
+ const int autoC1FB2790_ai = 1;
+
// Variable Initialization
// Conditions
@@ -3249,10 +3452,8 @@ bool gt_ZergFortificationTumorBullies_Func (bool testConds, bool runActions) {
return true;
}
- autoC1FB2790_ae = 5;
- autoC1FB2790_ai = 1;
lv_i = 1;
- for ( ; ( (autoC1FB2790_ai >= 0 && lv_i <= autoC1FB2790_ae) || (autoC1FB2790_ai <= 0 && lv_i >= autoC1FB2790_ae) ) ; lv_i += autoC1FB2790_ai ) {
+ for ( ; ( (autoC1FB2790_ai >= 0 && lv_i <= autoC1FB2790_ae) || (autoC1FB2790_ai < 0 && lv_i >= autoC1FB2790_ae) ) ; lv_i += autoC1FB2790_ai ) {
if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_02_DOMINION2, RegionFromName(("North Zerg Island " + IntToString(lv_i))), UnitFilter((1 << c_targetFilterGround), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 0)) {
AIToggleBulliesInRegion(gv_pLAYER_02_DOMINION2, RegionFromName(("North Tumor Bullies " + IntToString(lv_i))), false);
}
@@ -3279,6 +3480,7 @@ void gt_ZergFortificationTumorBullies_Init () {
// Trigger: Holdout Timer Q
//--------------------------------------------------------------------------------------------------
bool gt_HoldoutTimerQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3317,6 +3519,7 @@ void gt_HoldoutTimerQ_Init () {
// Trigger: Defenders of Man Arrival Q
//--------------------------------------------------------------------------------------------------
bool gt_DefendersofManArrivalQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3358,6 +3561,7 @@ void gt_DefendersofManArrivalQ_Init () {
// Trigger: Defeat Base Dead
//--------------------------------------------------------------------------------------------------
bool gt_DefeatBaseDead_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -3399,6 +3603,7 @@ void gt_DefeatBaseDead_Init () {
// Trigger: Defeat Horner's Base Destroyed
//--------------------------------------------------------------------------------------------------
bool gt_DefeatHornersBaseDestroyed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3433,12 +3638,13 @@ void gt_DefeatHornersBaseDestroyed_Init () {
// Trigger: Victory Defend Horner's Base Completed
//--------------------------------------------------------------------------------------------------
bool gt_VictoryDefendHornersBaseCompleted_Func (bool testConds, bool runActions) {
- unitgroup auto8048C945_g;
- int auto8048C945_u;
-
// Variable Declarations
unit lv_u;
+ // Automatic Variable Declarations
+ unitgroup auto8048C945_g;
+ int auto8048C945_u;
+
// Variable Initialization
// Conditions
@@ -3461,9 +3667,10 @@ bool gt_VictoryDefendHornersBaseCompleted_Func (bool testConds, bool runActions)
TriggerQueuePause(true);
TriggerQueueClear(c_triggerQueueRemove);
auto8048C945_g = UnitGroup(null, gv_pLAYER_02_DOMINION, RegionEntireMap(), UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- auto8048C945_u = 1;
- for ( ; auto8048C945_u <= UnitGroupCount(auto8048C945_g, c_unitCountAll) ; auto8048C945_u += BoolToInt(lv_u == UnitGroupUnit(auto8048C945_g, auto8048C945_u)) ) {
- lv_u = UnitGroupUnit(auto8048C945_g, auto8048C945_u);
+ auto8048C945_u = UnitGroupCount(auto8048C945_g, c_unitCountAll);
+ for (;; auto8048C945_u -= 1) {
+ lv_u = UnitGroupUnitFromEnd(auto8048C945_g, auto8048C945_u);
+ if (lv_u == null) { break; }
libNtve_gf_ChangeUnitDamage(lv_u, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
}
TriggerExecute(gt_VictorySequence, true, false);
@@ -3480,6 +3687,7 @@ void gt_VictoryDefendHornersBaseCompleted_Init () {
// Trigger: Victory Sequence
//--------------------------------------------------------------------------------------------------
bool gt_VictorySequence_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3508,6 +3716,7 @@ void gt_VictorySequence_Init () {
// Trigger: Victory
//--------------------------------------------------------------------------------------------------
bool gt_Victory_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3550,6 +3759,7 @@ void gt_Victory_Init () {
// Trigger: Defeat
//--------------------------------------------------------------------------------------------------
bool gt_Defeat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3576,6 +3786,7 @@ void gt_Defeat_Init () {
// Trigger: Victory Cheat
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3604,6 +3815,7 @@ void gt_VictoryCheat_Init () {
// Trigger: Defeat Cheat
//--------------------------------------------------------------------------------------------------
bool gt_DefeatCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3632,6 +3844,7 @@ void gt_DefeatCheat_Init () {
// Trigger: Spider Mine Kill Tracker
//--------------------------------------------------------------------------------------------------
bool gt_SpiderMineKillTracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3682,6 +3895,7 @@ void gt_SpiderMineKillTracker_Init () {
// Trigger: Spider Mine Unlock Achievement
//--------------------------------------------------------------------------------------------------
bool gt_SpiderMineUnlockAchievement_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3716,6 +3930,7 @@ void gt_SpiderMineUnlockAchievement_Init () {
// Trigger: Allied Structures Lost Tracker
//--------------------------------------------------------------------------------------------------
bool gt_AlliedStructuresLostTracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3758,6 +3973,7 @@ void gt_AlliedStructuresLostTracker_Init () {
// Trigger: Allied Units Lost Tracker
//--------------------------------------------------------------------------------------------------
bool gt_AlliedUnitsLostTracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3796,10 +4012,55 @@ void gt_AlliedUnitsLostTracker_Init () {
TriggerAddEventUnitDied(gt_AlliedUnitsLostTracker, null);
}
+//--------------------------------------------------------------------------------------------------
+// Trigger: Achievement - Kill enemy units with Spider Mines
+//--------------------------------------------------------------------------------------------------
+bool gt_AchievementKillenemyunitswithSpiderMines_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ // Conditions
+ if (testConds) {
+ if (!((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1))) {
+ return false;
+ }
+
+ if (!((UnitGetOwner(EventUnit()) != gv_pLAYER_01_USER))) {
+ return false;
+ }
+
+ if (!((EventUnitDamageEffect() == "VultureSpiderMinesDamage"))) {
+ return false;
+ }
+ }
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ gv_anniversaryAchievementTermSpiderMineKills = (gv_anniversaryAchievementTermSpiderMineKills + 1);
+ AchievementTermQuantitySet(gv_pLAYER_01_USER, "Anniversary_Nova02", gv_anniversaryAchievementTermSpiderMineKills);
+ TextExpressionSetToken("Param/Expression/4CAD1DDE", "A", IntToText(gv_anniversaryAchievementTermSpiderMineKills));
+ TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/4CAD1DDE"), false);
+ gv_achievement_SpiderMineKills += 1;
+ if ((gv_achievement_SpiderMineKills >= 200)) {
+ libComC_gf_CampaignAwardAchievement("Anniversary_Nova02", gv_pLAYER_01_USER);
+ TriggerEnable(TriggerGetCurrent(), false);
+ }
+
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_AchievementKillenemyunitswithSpiderMines_Init () {
+ gt_AchievementKillenemyunitswithSpiderMines = TriggerCreate("gt_AchievementKillenemyunitswithSpiderMines_Func");
+ TriggerAddEventUnitDied(gt_AchievementKillenemyunitswithSpiderMines, null);
+}
+
//--------------------------------------------------------------------------------------------------
// Trigger: Tip Ready Q
//--------------------------------------------------------------------------------------------------
bool gt_TipReadyQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -3837,6 +4098,7 @@ void gt_TipReadyQ_Init () {
// Trigger: Start AI
//--------------------------------------------------------------------------------------------------
bool gt_StartAI_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3863,38 +4125,56 @@ void gt_StartAI_Init () {
// Trigger: AI Upgrade Casual/Normal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeCasualNormal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoC29C5FAD_g;
+ int autoC29C5FAD_var;
+ playergroup autoABB3F479_g;
+ int autoABB3F479_var;
+ playergroup autoF219FA2E_g;
+ int autoF219FA2E_var;
+ playergroup autoF57FD395_g;
+ int autoF57FD395_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_dominionPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranInfantryWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranVehicleAndShipWeaponsLevel1", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
- }
- PlayerGroupLoopEnd();
+ autoC29C5FAD_g = gv_dominionPlayerGroup;
+ autoC29C5FAD_var = -1;
+ while (true) {
+ autoC29C5FAD_var = PlayerGroupNextPlayer(autoC29C5FAD_g, autoC29C5FAD_var);
+ if (autoC29C5FAD_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoC29C5FAD_var, "TerranInfantryWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoC29C5FAD_var, "TerranVehicleAndShipWeaponsLevel1", 1);
+ }
+ autoABB3F479_g = gv_zergPlayerGroup;
+ autoABB3F479_var = -1;
+ while (true) {
+ autoABB3F479_var = PlayerGroupNextPlayer(autoABB3F479_g, autoABB3F479_var);
+ if (autoABB3F479_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoABB3F479_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoABB3F479_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoABB3F479_var, "ZergMissileWeaponsLevel1", 1);
+ }
Wait(360.0, c_timeAI);
- PlayerGroupLoopBegin(gv_dominionPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranInfantryArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranVehicleAndShipArmorsLevel1", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
- }
- PlayerGroupLoopEnd();
+ autoF219FA2E_g = gv_dominionPlayerGroup;
+ autoF219FA2E_var = -1;
+ while (true) {
+ autoF219FA2E_var = PlayerGroupNextPlayer(autoF219FA2E_g, autoF219FA2E_var);
+ if (autoF219FA2E_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoF219FA2E_var, "TerranInfantryArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF219FA2E_var, "TerranVehicleAndShipArmorsLevel1", 1);
+ }
+ autoF57FD395_g = gv_zergPlayerGroup;
+ autoF57FD395_var = -1;
+ while (true) {
+ autoF57FD395_var = PlayerGroupNextPlayer(autoF57FD395_g, autoF57FD395_var);
+ if (autoF57FD395_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoF57FD395_var, "ZergGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF57FD395_var, "ZergFlyerArmorsLevel1", 1);
+ }
return true;
}
@@ -3907,38 +4187,56 @@ void gt_AIUpgradeCasualNormal_Init () {
// Trigger: AI Upgrade Hard/Brutal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeHardBrutal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoE8471AB6_g;
+ int autoE8471AB6_var;
+ playergroup auto04EE1A78_g;
+ int auto04EE1A78_var;
+ playergroup auto7D5E75C9_g;
+ int auto7D5E75C9_var;
+ playergroup autoE00581CC_g;
+ int autoE00581CC_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_dominionPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranInfantryWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranVehicleAndShipWeaponsLevel2", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel2", 1);
- }
- PlayerGroupLoopEnd();
+ autoE8471AB6_g = gv_dominionPlayerGroup;
+ autoE8471AB6_var = -1;
+ while (true) {
+ autoE8471AB6_var = PlayerGroupNextPlayer(autoE8471AB6_g, autoE8471AB6_var);
+ if (autoE8471AB6_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoE8471AB6_var, "TerranInfantryWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(autoE8471AB6_var, "TerranVehicleAndShipWeaponsLevel2", 1);
+ }
+ auto04EE1A78_g = gv_zergPlayerGroup;
+ auto04EE1A78_var = -1;
+ while (true) {
+ auto04EE1A78_var = PlayerGroupNextPlayer(auto04EE1A78_g, auto04EE1A78_var);
+ if (auto04EE1A78_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto04EE1A78_var, "ZergMeleeWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto04EE1A78_var, "ZergFlyerWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto04EE1A78_var, "ZergMissileWeaponsLevel2", 1);
+ }
Wait(360.0, c_timeAI);
- PlayerGroupLoopBegin(gv_dominionPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranInfantryArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "TerranVehicleAndShipArmorsLevel2", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel2", 1);
- }
- PlayerGroupLoopEnd();
+ auto7D5E75C9_g = gv_dominionPlayerGroup;
+ auto7D5E75C9_var = -1;
+ while (true) {
+ auto7D5E75C9_var = PlayerGroupNextPlayer(auto7D5E75C9_g, auto7D5E75C9_var);
+ if (auto7D5E75C9_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto7D5E75C9_var, "TerranInfantryArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto7D5E75C9_var, "TerranVehicleAndShipArmorsLevel2", 1);
+ }
+ autoE00581CC_g = gv_zergPlayerGroup;
+ autoE00581CC_var = -1;
+ while (true) {
+ autoE00581CC_var = PlayerGroupNextPlayer(autoE00581CC_g, autoE00581CC_var);
+ if (autoE00581CC_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoE00581CC_var, "ZergGroundArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(autoE00581CC_var, "ZergFlyerArmorsLevel2", 1);
+ }
return true;
}
@@ -3951,7 +4249,10 @@ void gt_AIUpgradeHardBrutal_Init () {
// Trigger: Set Waypoints North
//--------------------------------------------------------------------------------------------------
bool gt_SetWaypointsNorth_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto39A334BC_val;
+ const int auto414E4E86_ae = 15;
+ int auto414E4E86_var;
// Actions
if (!runActions) {
@@ -4084,14 +4385,13 @@ bool gt_SetWaypointsNorth_Func (bool testConds, bool runActions) {
}
else {
}
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_lastWaypointsNorth[IntLoopCurrent()] != null)) {
- AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION2, gv_lastWaypointsNorth[IntLoopCurrent()], false);
+ auto414E4E86_var = 1;
+ for ( ; auto414E4E86_var <= auto414E4E86_ae; auto414E4E86_var += 1 ) {
+ if ((gv_lastWaypointsNorth[auto414E4E86_var] != null)) {
+ AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION2, gv_lastWaypointsNorth[auto414E4E86_var], false);
}
}
- IntLoopEnd();
return true;
}
@@ -4107,6 +4407,10 @@ bool gt_SetFinalTrickleWaypointsNorth_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ const int auto5189EC17_ae = 15;
+ int auto5189EC17_var;
+
// Variable Initialization
// Actions
@@ -4118,14 +4422,13 @@ bool gt_SetFinalTrickleWaypointsNorth_Func (bool testConds, bool runActions) {
AIAttackWaveSetTargetPoint(gv_pLAYER_02_DOMINION2, PointFromId(100));
AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION2, PointFromId(151));
AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION2, PointFromId(98), false);
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_lastWaypointsNorth[IntLoopCurrent()] != null)) {
- AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION2, gv_lastWaypointsNorth[IntLoopCurrent()], false);
+ auto5189EC17_var = 1;
+ for ( ; auto5189EC17_var <= auto5189EC17_ae; auto5189EC17_var += 1 ) {
+ if ((gv_lastWaypointsNorth[auto5189EC17_var] != null)) {
+ AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION2, gv_lastWaypointsNorth[auto5189EC17_var], false);
}
}
- IntLoopEnd();
return true;
}
@@ -4138,7 +4441,10 @@ void gt_SetFinalTrickleWaypointsNorth_Init () {
// Trigger: Set Waypoints East
//--------------------------------------------------------------------------------------------------
bool gt_SetWaypointsEast_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto5B235E8C_val;
+ const int autoCBFA6E77_ae = 15;
+ int autoCBFA6E77_var;
// Actions
if (!runActions) {
@@ -4271,14 +4577,13 @@ bool gt_SetWaypointsEast_Func (bool testConds, bool runActions) {
}
else {
}
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_lastWaypointsEast[IntLoopCurrent()] != null)) {
- AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION3, gv_lastWaypointsEast[IntLoopCurrent()], false);
+ autoCBFA6E77_var = 1;
+ for ( ; autoCBFA6E77_var <= autoCBFA6E77_ae; autoCBFA6E77_var += 1 ) {
+ if ((gv_lastWaypointsEast[autoCBFA6E77_var] != null)) {
+ AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION3, gv_lastWaypointsEast[autoCBFA6E77_var], false);
}
}
- IntLoopEnd();
return true;
}
@@ -4294,6 +4599,10 @@ bool gt_SetFinalTrickleWaypointsEast_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ const int autoC361AC60_ae = 15;
+ int autoC361AC60_var;
+
// Variable Initialization
// Actions
@@ -4305,14 +4614,13 @@ bool gt_SetFinalTrickleWaypointsEast_Func (bool testConds, bool runActions) {
AIAttackWaveSetTargetPoint(gv_pLAYER_02_DOMINION3, PointFromId(103));
AIAttackWaveSetGatherPoint(gv_pLAYER_02_DOMINION3, PointFromId(624));
AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION3, PointFromId(101), false);
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_lastWaypointsEast[IntLoopCurrent()] != null)) {
- AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION3, gv_lastWaypointsEast[IntLoopCurrent()], false);
+ autoC361AC60_var = 1;
+ for ( ; autoC361AC60_var <= autoC361AC60_ae; autoC361AC60_var += 1 ) {
+ if ((gv_lastWaypointsEast[autoC361AC60_var] != null)) {
+ AIAttackWaveAddWaypoint(gv_pLAYER_02_DOMINION3, gv_lastWaypointsEast[autoC361AC60_var], false);
}
}
- IntLoopEnd();
return true;
}
@@ -4327,8 +4635,6 @@ void gt_SetFinalTrickleWaypointsEast_Init () {
bool gt_AttackWaveManager_Func (bool testConds, bool runActions) {
int init_i;
- int autoD843421D_val;
-
// Variable Declarations
unitgroup lv_waveGroup;
int lv_attackWavePlayer;
@@ -4342,6 +4648,23 @@ bool gt_AttackWaveManager_Func (bool testConds, bool runActions) {
fixed lv_m;
fixed lv_b;
+ // Automatic Variable Declarations
+ int autoD843421D_val;
+ const int auto48375123_ae = 15;
+ int auto48375123_var;
+ const int auto77B61292_ae = 15;
+ int auto77B61292_var;
+ const int autoD95C684D_ae = 15;
+ int autoD95C684D_var;
+ unitgroup auto2433F59F_g;
+ int auto2433F59F_u;
+ unit auto2433F59F_var;
+ unitgroup autoD685A609_g;
+ int autoD685A609_u;
+ unit autoD685A609_var;
+ const int autoC0BD83D8_ae = 15;
+ int autoC0BD83D8_var;
+
// Variable Initialization
lv_waveGroup = UnitGroupEmpty();
lv_targetWaypointIndex = 1;
@@ -4363,43 +4686,40 @@ bool gt_AttackWaveManager_Func (bool testConds, bool runActions) {
if (autoD843421D_val == gv_pLAYER_02_DOMINION2) {
lv_gatherPoint = PointFromId(98);
lv_targetPoint = PointFromId(100);
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_lastWaypointsNorth[IntLoopCurrent()] != null)) {
- lv_targetWaypoints[IntLoopCurrent()] = gv_lastWaypointsNorth[IntLoopCurrent()];
+ auto48375123_var = 1;
+ for ( ; auto48375123_var <= auto48375123_ae; auto48375123_var += 1 ) {
+ if ((gv_lastWaypointsNorth[auto48375123_var] != null)) {
+ lv_targetWaypoints[auto48375123_var] = gv_lastWaypointsNorth[auto48375123_var];
}
}
- IntLoopEnd();
}
else if (autoD843421D_val == gv_pLAYER_02_DOMINION3) {
lv_gatherPoint = PointFromId(101);
lv_targetPoint = PointFromId(103);
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_lastWaypointsEast[IntLoopCurrent()] != null)) {
- lv_targetWaypoints[IntLoopCurrent()] = gv_lastWaypointsEast[IntLoopCurrent()];
+ auto77B61292_var = 1;
+ for ( ; auto77B61292_var <= auto77B61292_ae; auto77B61292_var += 1 ) {
+ if ((gv_lastWaypointsEast[auto77B61292_var] != null)) {
+ lv_targetWaypoints[auto77B61292_var] = gv_lastWaypointsEast[auto77B61292_var];
}
}
- IntLoopEnd();
}
else {
}
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingAlert", lv_gatherPoint, ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 0.0, 270.0);
lv_waveGroupPing = PingLastCreated();
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((lv_targetWaypoints[IntLoopCurrent()] != null)) {
- libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingArrow", lv_targetWaypoints[IntLoopCurrent()], Color(100.00, 0.00, 0.00), 0.0, PointGetFacing(lv_targetWaypoints[IntLoopCurrent()]));
+ autoD95C684D_var = 1;
+ for ( ; autoD95C684D_var <= autoD95C684D_ae; autoD95C684D_var += 1 ) {
+ if ((lv_targetWaypoints[autoD95C684D_var] != null)) {
+ libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingArrow", lv_targetWaypoints[autoD95C684D_var], Color(100.00, 0.00, 0.00), 0.0, PointGetFacing(lv_targetWaypoints[autoD95C684D_var]));
PingSetScale(PingLastCreated(), 0.5);
- lv_telegraphPings[IntLoopCurrent()] = PingLastCreated();
+ lv_telegraphPings[autoD95C684D_var] = PingLastCreated();
Wait(0.5, c_timeAI);
}
}
- IntLoopEnd();
}
while (!((DistanceBetweenPoints(UnitGroupCenterOfGroup(lv_waveGroup), lv_targetPoint) < DistanceBetweenPoints(lv_gatherPoint, lv_targetPoint)))) {
@@ -4423,19 +4743,21 @@ bool gt_AttackWaveManager_Func (bool testConds, bool runActions) {
lv_validTargets = UnitGroupEmpty();
lv_m = Tan((PointGetFacing(lv_targetWaypoints[lv_targetWaypointIndex]) + 90.0));
lv_b = (PointGetY(UnitGroupCenterOfGroup(lv_waveGroup))-(lv_m*PointGetX(UnitGroupCenterOfGroup(lv_waveGroup))));
- UnitGroupLoopBegin(libNtve_gf_UnitsInRegionWithAllianceToPlayerMatchingCondition(null, "", "", lv_attackWavePlayer, c_unitAllianceEnemy, RegionCircle(UnitGroupCenterOfGroup(lv_waveGroup), 15.0), UnitFilter((1 << c_targetFilterGround) | (1 << c_targetFilterVisible), 0, (1 << c_targetFilterMissile) | (1 << c_targetFilterUncommandable), (1 << (c_targetFilterStasis - 32)) | (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((PointPathingCost(UnitGetPosition(UnitGroupLoopCurrent()), UnitGroupCenterOfGroup(lv_waveGroup)) < 20)) {
- if ((DistanceBetweenPoints(UnitGetPosition(UnitGroupLoopCurrent()), UnitGroupCenterOfGroup(lv_waveGroup)) < 3.0)) {
- UnitGroupAdd(lv_validTargets, UnitGroupLoopCurrent());
+ auto2433F59F_g = libNtve_gf_UnitsInRegionWithAllianceToPlayerMatchingCondition(null, "", "", lv_attackWavePlayer, c_unitAllianceEnemy, RegionCircle(UnitGroupCenterOfGroup(lv_waveGroup), 15.0), UnitFilter((1 << c_targetFilterGround) | (1 << c_targetFilterVisible), 0, (1 << c_targetFilterMissile) | (1 << c_targetFilterUncommandable), (1 << (c_targetFilterStasis - 32)) | (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0);
+ auto2433F59F_u = UnitGroupCount(auto2433F59F_g, c_unitCountAll);
+ for (;; auto2433F59F_u -= 1) {
+ auto2433F59F_var = UnitGroupUnitFromEnd(auto2433F59F_g, auto2433F59F_u);
+ if (auto2433F59F_var == null) { break; }
+ if ((PointPathingCost(UnitGetPosition(auto2433F59F_var), UnitGroupCenterOfGroup(lv_waveGroup)) < 20)) {
+ if ((DistanceBetweenPoints(UnitGetPosition(auto2433F59F_var), UnitGroupCenterOfGroup(lv_waveGroup)) < 3.0)) {
+ UnitGroupAdd(lv_validTargets, auto2433F59F_var);
}
- else if ((((PointGetFacing(lv_targetWaypoints[lv_targetWaypointIndex]) > 0.0) && (PointGetY(UnitGetPosition(UnitGroupLoopCurrent())) > ((lv_m*PointGetX(UnitGetPosition(UnitGroupLoopCurrent())))+lv_b))) || ((PointGetFacing(lv_targetWaypoints[lv_targetWaypointIndex]) < 0.0) && (PointGetY(UnitGetPosition(UnitGroupLoopCurrent())) < ((lv_m*PointGetX(UnitGetPosition(UnitGroupLoopCurrent())))+lv_b))))) {
- UnitGroupAdd(lv_validTargets, UnitGroupLoopCurrent());
+ else if ((((PointGetFacing(lv_targetWaypoints[lv_targetWaypointIndex]) > 0.0) && (PointGetY(UnitGetPosition(auto2433F59F_var)) > ((lv_m*PointGetX(UnitGetPosition(auto2433F59F_var)))+lv_b))) || ((PointGetFacing(lv_targetWaypoints[lv_targetWaypointIndex]) < 0.0) && (PointGetY(UnitGetPosition(auto2433F59F_var)) < ((lv_m*PointGetX(UnitGetPosition(auto2433F59F_var)))+lv_b))))) {
+ UnitGroupAdd(lv_validTargets, auto2433F59F_var);
}
}
}
- UnitGroupLoopEnd();
if ((UnitGetType(UnitGroupUnit(lv_waveGroup, 1)) == "Brutalisk")) {
if ((UnitGroupCount(lv_validTargets, c_unitCountAlive) > 0)) {
UnitGroupIssueOrder(lv_waveGroup, OrderTargetingUnit(AbilityCommand("attack", 0), UnitGroupClosestToPoint(lv_validTargets, UnitGroupCenterOfGroup(lv_waveGroup))), c_orderQueueReplace);
@@ -4449,28 +4771,29 @@ bool gt_AttackWaveManager_Func (bool testConds, bool runActions) {
UnitGroupIssueOrder(lv_waveGroup, OrderTargetingPoint(AbilityCommand("attack", 0), libNtve_gf_PointOffsetTowardsPoint(UnitGetPosition(UnitGroupClosestToPoint(lv_validTargets, UnitGroupCenterOfGroup(lv_waveGroup))), 2.0, UnitGroupCenterOfGroup(lv_waveGroup))), c_orderQueueReplace);
}
else {
- UnitGroupLoopBegin(lv_waveGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((DistanceBetweenPoints(UnitGetPosition(UnitGroupLoopCurrent()), lv_targetWaypoints[lv_targetWaypointIndex]) > 6.0)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), lv_targetWaypoints[lv_targetWaypointIndex]), c_orderQueueReplace);
+ autoD685A609_g = lv_waveGroup;
+ autoD685A609_u = UnitGroupCount(autoD685A609_g, c_unitCountAll);
+ for (;; autoD685A609_u -= 1) {
+ autoD685A609_var = UnitGroupUnitFromEnd(autoD685A609_g, autoD685A609_u);
+ if (autoD685A609_var == null) { break; }
+ if ((DistanceBetweenPoints(UnitGetPosition(autoD685A609_var), lv_targetWaypoints[lv_targetWaypointIndex]) > 6.0)) {
+ UnitIssueOrder(autoD685A609_var, OrderTargetingPoint(AbilityCommand("move", 0), lv_targetWaypoints[lv_targetWaypointIndex]), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
}
}
Wait(0.25, c_timeAI);
}
PingDestroy(lv_waveGroupPing);
- IntLoopBegin(1, 15);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((lv_telegraphPings[IntLoopCurrent()] != c_invalidPingId)) {
- PingDestroy(lv_telegraphPings[IntLoopCurrent()]);
- lv_telegraphPings[IntLoopCurrent()] = c_invalidPingId;
+ autoC0BD83D8_var = 1;
+ for ( ; autoC0BD83D8_var <= autoC0BD83D8_ae; autoC0BD83D8_var += 1 ) {
+ if ((lv_telegraphPings[autoC0BD83D8_var] != c_invalidPingId)) {
+ PingDestroy(lv_telegraphPings[autoC0BD83D8_var]);
+ lv_telegraphPings[autoC0BD83D8_var] = c_invalidPingId;
}
}
- IntLoopEnd();
gv_attackWavesActive -= 1;
return true;
}
@@ -4491,6 +4814,11 @@ bool gt_AIAttackWaveRavagerShots_Func (bool testConds, bool runActions) {
region lv_ravagerShotTargetRegion;
point lv_ravagerShotTargetPoint;
+ // Automatic Variable Declarations
+ unitgroup auto6284706C_g;
+ int auto6284706C_u;
+ unit auto6284706C_var;
+
// Variable Initialization
lv_nearbyRavagers = UnitGroupEmpty();
@@ -4528,14 +4856,16 @@ bool gt_AIAttackWaveRavagerShots_Func (bool testConds, bool runActions) {
lv_nearbyRavagers = UnitGroup("Ravager", EventPlayer(), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
lv_ravagerShotTargetRegion = RegionCircle(EventUnitDamageSourcePoint(), 1.5);
- UnitGroupLoopBegin(lv_nearbyRavagers);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitAbilityGetCooldown(UnitGroupLoopCurrent(), "RavagerCorrosiveBile", "Abil/RavagerCorrosiveBile") > 0.0)) {
- UnitGroupRemove(lv_nearbyRavagers, UnitGroupLoopCurrent());
+ auto6284706C_g = lv_nearbyRavagers;
+ auto6284706C_u = UnitGroupCount(auto6284706C_g, c_unitCountAll);
+ for (;; auto6284706C_u -= 1) {
+ auto6284706C_var = UnitGroupUnitFromEnd(auto6284706C_g, auto6284706C_u);
+ if (auto6284706C_var == null) { break; }
+ if ((UnitAbilityGetCooldown(auto6284706C_var, "RavagerCorrosiveBile", "Abil/RavagerCorrosiveBile") > 0.0)) {
+ UnitGroupRemove(lv_nearbyRavagers, auto6284706C_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_nearbyRavagers, c_unitCountAlive) > 0)) {
TriggerEnable(TriggerGetCurrent(), false);
lv_ravagerShotTargetPoint = gf_AIGetRavagerTargetPoint(lv_ravagerShotTargetRegion);
@@ -4561,6 +4891,11 @@ bool gt_AIAttackWaveDarkSwarm_Func (bool testConds, bool runActions) {
unitgroup lv_nearbyDefilers;
unit lv_closestValidDefiler;
+ // Automatic Variable Declarations
+ unitgroup auto63648FA4_g;
+ int auto63648FA4_u;
+ unit auto63648FA4_var;
+
// Variable Initialization
lv_nearbyDefilers = UnitGroupEmpty();
@@ -4593,14 +4928,16 @@ bool gt_AIAttackWaveDarkSwarm_Func (bool testConds, bool runActions) {
}
lv_nearbyDefilers = UnitGroup("DefilerMP", EventPlayer(), RegionCircle(UnitGetPosition(EventUnit()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- UnitGroupLoopBegin(lv_nearbyDefilers);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropEnergy, c_unitPropCurrent) < 100.0)) {
- UnitGroupRemove(lv_nearbyDefilers, UnitGroupLoopCurrent());
+ auto63648FA4_g = lv_nearbyDefilers;
+ auto63648FA4_u = UnitGroupCount(auto63648FA4_g, c_unitCountAll);
+ for (;; auto63648FA4_u -= 1) {
+ auto63648FA4_var = UnitGroupUnitFromEnd(auto63648FA4_g, auto63648FA4_u);
+ if (auto63648FA4_var == null) { break; }
+ if ((UnitGetPropertyFixed(auto63648FA4_var, c_unitPropEnergy, c_unitPropCurrent) < 100.0)) {
+ UnitGroupRemove(lv_nearbyDefilers, auto63648FA4_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_nearbyDefilers, c_unitCountAlive) > 0)) {
TriggerEnable(TriggerGetCurrent(), false);
UnitGroupIssueOrder(lv_nearbyDefilers, OrderTargetingPoint(AbilityCommand("DefilerMPDarkSwarm", 0), PointWithOffsetPolar(UnitGetPosition(EventUnit()), 2.0, UnitGetFacing(EventUnit()))), c_orderQueueAddToFront);
@@ -4621,6 +4958,7 @@ void gt_AIAttackWaveDarkSwarm_Init () {
// Trigger: Defiler Energy
//--------------------------------------------------------------------------------------------------
bool gt_DefilerEnergy_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetType(EventUnitCreatedUnit()) == "DefilerMP"))) {
@@ -4647,6 +4985,7 @@ void gt_DefilerEnergy_Init () {
// Trigger: Objective Defend Horner's Base Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDefendHornersBaseCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4675,6 +5014,7 @@ void gt_ObjectiveDefendHornersBaseCreate_Init () {
// Trigger: Objective Defend Horner's Base Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDefendHornersBaseComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4706,6 +5046,7 @@ void gt_ObjectiveDefendHornersBaseComplete_Init () {
// Trigger: Objective Defend Horner's Base Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDefendHornersBaseFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4737,6 +5078,7 @@ void gt_ObjectiveDefendHornersBaseFailed_Init () {
// Trigger: Objective Secure Army Tech Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveSecureArmyTechCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4768,6 +5110,7 @@ void gt_ObjectiveSecureArmyTechCreate_Init () {
// Trigger: Objective Secure Army Tech Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveSecureArmyTechComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4797,6 +5140,7 @@ void gt_ObjectiveSecureArmyTechComplete_Init () {
// Trigger: Objective Secure Army Tech Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveSecureArmyTechFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4828,6 +5172,7 @@ void gt_ObjectiveSecureArmyTechFailed_Init () {
// Trigger: Objective Secure Nova Tech Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveSecureNovaTechCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4859,6 +5204,7 @@ void gt_ObjectiveSecureNovaTechCreate_Init () {
// Trigger: Objective Secure Nova Tech Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveSecureNovaTechComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4888,6 +5234,7 @@ void gt_ObjectiveSecureNovaTechComplete_Init () {
// Trigger: Objective Secure Nova Tech Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveSecureNovaTechFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4919,6 +5266,11 @@ void gt_ObjectiveSecureNovaTechFailed_Init () {
// Trigger: Briefing Q
//--------------------------------------------------------------------------------------------------
bool gt_BriefingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto57464411_g;
+ int auto57464411_u;
+ unit auto57464411_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4940,11 +5292,13 @@ bool gt_BriefingQ_Func (bool testConds, bool runActions) {
UnitPauseAll(true);
AITimePause(true);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto57464411_g = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto57464411_u = UnitGroupCount(auto57464411_g, c_unitCountAll);
+ for (;; auto57464411_u -= 1) {
+ auto57464411_var = UnitGroupUnitFromEnd(auto57464411_g, auto57464411_u);
+ if (auto57464411_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto57464411_var, false);
}
- UnitGroupLoopEnd();
CinematicFade(false, 0.1, c_fadeStyleNormal, ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, true);
libNtve_gf_CinematicMode(true, PlayerGroupAll(), 0.0);
libNtve_gf_GlobalCinematicSetting(true);
@@ -4978,6 +5332,23 @@ bool gt_BriefingSceneHive_Func (bool testConds, bool runActions) {
int lv_i;
unitgroup lv_dropPodUnits;
+ // Automatic Variable Declarations
+ unitgroup auto8511184C_g;
+ int auto8511184C_u;
+ unit auto8511184C_var;
+ unitgroup auto7B40238F_g;
+ int auto7B40238F_u;
+ unit auto7B40238F_var;
+ unitgroup auto002AA10B_g;
+ int auto002AA10B_u;
+ unit auto002AA10B_var;
+ unitgroup autoA5D85E35_g;
+ int autoA5D85E35_u;
+ unit autoA5D85E35_var;
+ unitgroup auto359564D5_g;
+ int auto359564D5_u;
+ unit auto359564D5_var;
+
// Variable Initialization
lv_dropPodUnits = UnitGroupEmpty();
@@ -4988,16 +5359,20 @@ bool gt_BriefingSceneHive_Func (bool testConds, bool runActions) {
libNtve_gf_ShowHideUnit(UnitFromId(1174), true);
libNtve_gf_PauseUnit(UnitFromId(1174), false);
- UnitGroupLoopBegin(UnitGroup("MineralField", c_playerAny, RegionFromId(1), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Extractor", c_playerAny, RegionFromId(1), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_CreateUnitsWithDefaultFacing(1, "VespeneGeyser", c_unitCreateIgnorePlacement, 0, UnitGetPosition(UnitGroupLoopCurrent()));
+ auto8511184C_g = UnitGroup("MineralField", c_playerAny, RegionFromId(1), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto8511184C_u = UnitGroupCount(auto8511184C_g, c_unitCountAll);
+ for (;; auto8511184C_u -= 1) {
+ auto8511184C_var = UnitGroupUnitFromEnd(auto8511184C_g, auto8511184C_u);
+ if (auto8511184C_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto8511184C_var, true);
+ }
+ auto7B40238F_g = UnitGroup("Extractor", c_playerAny, RegionFromId(1), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto7B40238F_u = UnitGroupCount(auto7B40238F_g, c_unitCountAll);
+ for (;; auto7B40238F_u -= 1) {
+ auto7B40238F_var = UnitGroupUnitFromEnd(auto7B40238F_g, auto7B40238F_u);
+ if (auto7B40238F_var == null) { break; }
+ libNtve_gf_CreateUnitsWithDefaultFacing(1, "VespeneGeyser", c_unitCreateIgnorePlacement, 0, UnitGetPosition(auto7B40238F_var));
}
- UnitGroupLoopEnd();
CreepModify(RegionGetCenter(RegionFromId(1)), 30.0, false, false);
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Hatchery", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION4, UnitGetPosition(UnitFromId(22)));
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Hatchery", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION4, UnitGetPosition(UnitFromId(23)));
@@ -5005,23 +5380,27 @@ bool gt_BriefingSceneHive_Func (bool testConds, bool runActions) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Drone", 0, gv_pLAYER_02_DOMINION4, PointFromId(371));
UnitIssueOrder(UnitLastCreated(), OrderTargetingUnit(AbilityCommand("ZergBuild", 2), UnitGroupUnit(UnitGroup("VespeneGeyser", c_playerAny, RegionCircle(UnitGetPosition(UnitFromId(173)), 1.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), 1)), c_orderQueueReplace);
libNtve_gf_CreateUnitsWithDefaultFacing(6, "Drone", 0, gv_pLAYER_02_DOMINION4, PointFromId(371));
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ auto002AA10B_g = UnitLastCreatedGroup();
+ auto002AA10B_u = UnitGroupCount(auto002AA10B_g, c_unitCountAll);
+ for (;; auto002AA10B_u -= 1) {
+ auto002AA10B_var = UnitGroupUnitFromEnd(auto002AA10B_g, auto002AA10B_u);
+ if (auto002AA10B_var == null) { break; }
lv_i += 1;
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(AbilityCommand("DroneHarvest", 0), UnitGroupUnit(UnitGroup("MineralField", c_playerAny, RegionCircle(PointFromId(371), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), lv_i)), c_orderQueueReplace);
+ UnitIssueOrder(auto002AA10B_var, OrderTargetingUnit(AbilityCommand("DroneHarvest", 0), UnitGroupUnit(UnitGroup("MineralField", c_playerAny, RegionCircle(PointFromId(371), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), lv_i)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
lv_i = 0;
lv_dropPodUnits = UnitGroupEmpty();
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Drone", 0, gv_pLAYER_02_DOMINION4, PointFromId(391));
UnitIssueOrder(UnitLastCreated(), OrderTargetingUnit(AbilityCommand("ZergBuild", 2), UnitGroupUnit(UnitGroup("VespeneGeyser", c_playerAny, RegionCircle(UnitGetPosition(UnitFromId(171)), 1.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), 1)), c_orderQueueReplace);
libNtve_gf_CreateUnitsWithDefaultFacing(6, "Drone", 0, gv_pLAYER_02_DOMINION4, PointFromId(391));
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ autoA5D85E35_g = UnitLastCreatedGroup();
+ autoA5D85E35_u = UnitGroupCount(autoA5D85E35_g, c_unitCountAll);
+ for (;; autoA5D85E35_u -= 1) {
+ autoA5D85E35_var = UnitGroupUnitFromEnd(autoA5D85E35_g, autoA5D85E35_u);
+ if (autoA5D85E35_var == null) { break; }
lv_i += 1;
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(AbilityCommand("DroneHarvest", 0), UnitGroupUnit(UnitGroup("MineralField", c_playerAny, RegionCircle(PointFromId(391), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), lv_i)), c_orderQueueReplace);
+ UnitIssueOrder(autoA5D85E35_var, OrderTargetingUnit(AbilityCommand("DroneHarvest", 0), UnitGroupUnit(UnitGroup("MineralField", c_playerAny, RegionCircle(PointFromId(391), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), lv_i)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
lv_i = 0;
lv_dropPodUnits = UnitGroupEmpty();
Wait(1.0, c_timeGame);
@@ -5124,11 +5503,13 @@ bool gt_BriefingSceneHive_Func (bool testConds, bool runActions) {
lv_dropPodUnits = UnitGroupEmpty();
Wait(10.0, c_timeGame);
MovieStopRecording();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto359564D5_g = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto359564D5_u = UnitGroupCount(auto359564D5_g, c_unitCountAll);
+ for (;; auto359564D5_u -= 1) {
+ auto359564D5_var = UnitGroupUnitFromEnd(auto359564D5_g, auto359564D5_u);
+ if (auto359564D5_var == null) { break; }
+ UnitRemove(auto359564D5_var);
}
- UnitGroupLoopEnd();
return true;
}
@@ -5141,13 +5522,22 @@ void gt_BriefingSceneHive_Init () {
// Trigger: Briefing Scene - Reapers
//--------------------------------------------------------------------------------------------------
bool gt_BriefingSceneReapers_Func (bool testConds, bool runActions) {
- fixed autoE7B4E19C_at;
- fixed auto6C5180EB_at;
-
// Variable Declarations
unitgroup lv_reapers;
unitgroup lv_zergUnits;
+ // Automatic Variable Declarations
+ const int autoAB8DB817_ae = 3;
+ int autoAB8DB817_var;
+ unitgroup autoC99697E6_g;
+ int autoC99697E6_u;
+ unit autoC99697E6_var;
+ fixed autoE7B4E19C_at;
+ unitgroup auto35D158B2_g;
+ int auto35D158B2_u;
+ unit auto35D158B2_var;
+ fixed auto6C5180EB_at;
+
// Variable Initialization
lv_reapers = UnitGroupEmpty();
lv_zergUnits = UnitGroupEmpty();
@@ -5159,18 +5549,19 @@ bool gt_BriefingSceneReapers_Func (bool testConds, bool runActions) {
libNtve_gf_CreateUnitsWithDefaultFacing(3, "Reaper", 0, gv_pLAYER_01_USER, PointFromId(429));
UnitGroupAddUnitGroup(lv_reapers, UnitLastCreatedGroup());
- IntLoopBegin(1, 3);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- UnitIssueOrder(UnitGroupUnit(UnitLastCreatedGroup(), IntLoopCurrent()), OrderTargetingPoint(AbilityCommand("move", 0), PointFromName(("Intro Cinematic Reaper Attack Point " + IntToString(IntLoopCurrent())))), c_orderQueueReplace);
+ autoAB8DB817_var = 1;
+ for ( ; autoAB8DB817_var <= autoAB8DB817_ae; autoAB8DB817_var += 1 ) {
+ UnitIssueOrder(UnitGroupUnit(UnitLastCreatedGroup(), autoAB8DB817_var), OrderTargetingPoint(AbilityCommand("move", 0), PointFromName(("Intro Cinematic Reaper Attack Point " + IntToString(autoAB8DB817_var)))), c_orderQueueReplace);
}
- IntLoopEnd();
libNtve_gf_CreateUnitsWithDefaultFacing(3, "Zergling", 0, gv_pLAYER_02_DOMINION4, PointFromId(201));
UnitGroupAddUnitGroup(lv_zergUnits, UnitLastCreatedGroup());
- UnitGroupLoopBegin(lv_zergUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Mega);
+ autoC99697E6_g = lv_zergUnits;
+ autoC99697E6_u = UnitGroupCount(autoC99697E6_g, c_unitCountAll);
+ for (;; autoC99697E6_u -= 1) {
+ autoC99697E6_var = UnitGroupUnitFromEnd(autoC99697E6_g, autoC99697E6_u);
+ if (autoC99697E6_var == null) { break; }
+ libNtve_gf_ChangeUnitDamage(autoC99697E6_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Mega);
}
- UnitGroupLoopEnd();
UnitGroupIssueOrder(lv_zergUnits, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(29)), c_orderQueueReplace);
UnitGroupIssueOrder(lv_zergUnits, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(227)), c_orderQueueAddToEnd);
UnitGroupIssueOrder(lv_zergUnits, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(47)), c_orderQueueAddToEnd);
@@ -5192,11 +5583,13 @@ bool gt_BriefingSceneReapers_Func (bool testConds, bool runActions) {
UnitGroupIssueOrder(lv_zergUnits, Order(AbilityCommand("BurrowZerglingUp", 0)), c_orderQueueReplace);
Wait(0.5, c_timeGame);
UnitGroupIssueOrder(lv_zergUnits, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(47)), c_orderQueueAddToEnd);
- UnitGroupLoopBegin(lv_zergUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Mega);
+ auto35D158B2_g = lv_zergUnits;
+ auto35D158B2_u = UnitGroupCount(auto35D158B2_g, c_unitCountAll);
+ for (;; auto35D158B2_u -= 1) {
+ auto35D158B2_var = UnitGroupUnitFromEnd(auto35D158B2_g, auto35D158B2_u);
+ if (auto35D158B2_var == null) { break; }
+ libNtve_gf_ChangeUnitDamage(auto35D158B2_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Mega);
}
- UnitGroupLoopEnd();
auto6C5180EB_at = 0;
while (!((UnitGroupCount(lv_zergUnits, c_unitCountAlive) == 0)) && auto6C5180EB_at <= 20.0) {
Wait(0.125, c_timeGame);
@@ -5216,6 +5609,7 @@ void gt_BriefingSceneReapers_Init () {
// Trigger: Briefing Scene - Reapers Camera
//--------------------------------------------------------------------------------------------------
bool gt_BriefingSceneReapersCamera_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -5238,6 +5632,7 @@ void gt_BriefingSceneReapersCamera_Init () {
// Trigger: Intro Q
//--------------------------------------------------------------------------------------------------
bool gt_IntroQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5273,6 +5668,14 @@ void gt_IntroQ_Init () {
// Trigger: Intro Setup
//--------------------------------------------------------------------------------------------------
bool gt_IntroSetup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto9C3AB5DE_g;
+ int auto9C3AB5DE_u;
+ unit auto9C3AB5DE_var;
+ unitgroup auto9DC65465_g;
+ int auto9DC65465_u;
+ unit auto9DC65465_var;
+
// Actions
if (!runActions) {
return true;
@@ -5282,26 +5685,30 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
libNCMI_gf_CinematicModeCampaign(true, 0.0, true);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGroupLoopCurrent() != gv_nova) && (UnitGroupLoopCurrent() != UnitFromId(292)) && (UnitGroupLoopCurrent() != UnitFromId(62)) && (UnitGetType(UnitGroupLoopCurrent()) != "MineralField") && (libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto9C3AB5DE_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto9C3AB5DE_u = UnitGroupCount(auto9C3AB5DE_g, c_unitCountAll);
+ for (;; auto9C3AB5DE_u -= 1) {
+ auto9C3AB5DE_var = UnitGroupUnitFromEnd(auto9C3AB5DE_g, auto9C3AB5DE_u);
+ if (auto9C3AB5DE_var == null) { break; }
+ if ((auto9C3AB5DE_var != gv_nova) && (auto9C3AB5DE_var != UnitFromId(292)) && (auto9C3AB5DE_var != UnitFromId(62)) && (UnitGetType(auto9C3AB5DE_var) != "MineralField") && (libNtve_gf_UnitIsPaused(auto9C3AB5DE_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto9C3AB5DE_var);
+ libNtve_gf_PauseUnit(auto9C3AB5DE_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGroupLoopCurrent() != gv_nova) && (UnitGroupLoopCurrent() != UnitFromId(292)) && (UnitGroupLoopCurrent() != UnitFromId(62)) && (UnitGetType(UnitGroupLoopCurrent()) != "MineralField")) {
- UnitGroupAdd(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto9DC65465_g = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto9DC65465_u = UnitGroupCount(auto9DC65465_g, c_unitCountAll);
+ for (;; auto9DC65465_u -= 1) {
+ auto9DC65465_var = UnitGroupUnitFromEnd(auto9DC65465_g, auto9DC65465_u);
+ if (auto9DC65465_var == null) { break; }
+ if ((auto9DC65465_var != gv_nova) && (auto9DC65465_var != UnitFromId(292)) && (auto9DC65465_var != UnitFromId(62)) && (UnitGetType(auto9DC65465_var) != "MineralField")) {
+ UnitGroupAdd(gv_cinematicHiddenUnits, auto9DC65465_var);
+ libNtve_gf_ShowHideUnit(auto9DC65465_var, false);
}
}
- UnitGroupLoopEnd();
TriggerExecute(gt_IntroBuildSupplyDepot, true, false);
gv_introCommandCenter = UnitFromId(62);
libNtve_gf_UnitCreateFacingPoint(1, "BarracksFlying", 0, gv_pLAYER_01_USER, PointWithOffset(UnitGetPosition(UnitFromId(64)), -6.0, -3.0), UnitGetPosition(UnitFromId(64)));
@@ -5340,6 +5747,7 @@ bool gt_IntroCinematic_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_jumpsuitPickup;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -5394,6 +5802,7 @@ bool gt_IntroCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -5424,6 +5833,26 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
+ unitgroup autoBA33F819_g;
+ int autoBA33F819_u;
+ unit autoBA33F819_var;
+ unitgroup auto22A6AB69_g;
+ int auto22A6AB69_u;
+ unit auto22A6AB69_var;
+ unitgroup auto86047D57_g;
+ int auto86047D57_u;
+ unit auto86047D57_var;
+ unitgroup auto06C07B92_g;
+ int auto06C07B92_u;
+ unit auto06C07B92_var;
+ unitgroup autoBDD2E56F_g;
+ int autoBDD2E56F_u;
+ unit autoBDD2E56F_var;
+ unitgroup auto7B3BB2E0_g;
+ int auto7B3BB2E0_u;
+ unit auto7B3BB2E0_var;
+
// Variable Initialization
// Actions
@@ -5433,16 +5862,20 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
libNCMI_gf_StopCinematicSounds();
if ((gv_cinematicCompleted == true)) {
- UnitGroupLoopBegin(gv_introReapers);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupRemove(gv_cinematicTempUnits, UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_introSCVs);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupRemove(gv_cinematicTempUnits, UnitGroupLoopCurrent());
+ autoBA33F819_g = gv_introReapers;
+ autoBA33F819_u = UnitGroupCount(autoBA33F819_g, c_unitCountAll);
+ for (;; autoBA33F819_u -= 1) {
+ autoBA33F819_var = UnitGroupUnitFromEnd(autoBA33F819_g, autoBA33F819_u);
+ if (autoBA33F819_var == null) { break; }
+ UnitGroupRemove(gv_cinematicTempUnits, autoBA33F819_var);
+ }
+ auto22A6AB69_g = gv_introSCVs;
+ auto22A6AB69_u = UnitGroupCount(auto22A6AB69_g, c_unitCountAll);
+ for (;; auto22A6AB69_u -= 1) {
+ auto22A6AB69_var = UnitGroupUnitFromEnd(auto22A6AB69_g, auto22A6AB69_u);
+ if (auto22A6AB69_var == null) { break; }
+ UnitGroupRemove(gv_cinematicTempUnits, auto22A6AB69_var);
}
- UnitGroupLoopEnd();
UnitRemove(UnitFromId(148));
UnitRemove(UnitFromId(147));
UnitRemove(UnitFromId(152));
@@ -5460,26 +5893,34 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
else {
libNovC_gf_UnequipNovaEquipmentForSlot("EQPSlotSuit");
}
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto86047D57_g = gv_cinematicTempUnits;
+ auto86047D57_u = UnitGroupCount(auto86047D57_g, c_unitCountAll);
+ for (;; auto86047D57_u -= 1) {
+ auto86047D57_var = UnitGroupUnitFromEnd(auto86047D57_g, auto86047D57_u);
+ if (auto86047D57_var == null) { break; }
+ UnitRemove(auto86047D57_var);
+ }
+ auto06C07B92_g = gv_cinematicHiddenUnits;
+ auto06C07B92_u = UnitGroupCount(auto06C07B92_g, c_unitCountAll);
+ for (;; auto06C07B92_u -= 1) {
+ auto06C07B92_var = UnitGroupUnitFromEnd(auto06C07B92_g, auto06C07B92_u);
+ if (auto06C07B92_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto06C07B92_var, true);
+ }
+ autoBDD2E56F_g = gv_cinematicPausedUnits;
+ autoBDD2E56F_u = UnitGroupCount(autoBDD2E56F_g, c_unitCountAll);
+ for (;; autoBDD2E56F_u -= 1) {
+ autoBDD2E56F_var = UnitGroupUnitFromEnd(autoBDD2E56F_g, autoBDD2E56F_u);
+ if (autoBDD2E56F_var == null) { break; }
+ libNtve_gf_PauseUnit(autoBDD2E56F_var, false);
+ }
+ auto7B3BB2E0_g = UnitGroup("TerranDropPod", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto7B3BB2E0_u = UnitGroupCount(auto7B3BB2E0_g, c_unitCountAll);
+ for (;; auto7B3BB2E0_u -= 1) {
+ auto7B3BB2E0_var = UnitGroupUnitFromEnd(auto7B3BB2E0_g, auto7B3BB2E0_u);
+ if (auto7B3BB2E0_var == null) { break; }
+ UnitRemove(auto7B3BB2E0_var);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("TerranDropPod", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
GameTimeOfDayPause(false);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, true);
libNtve_gf_RestoreUnitSelection(gv_pLAYER_01_USER);
@@ -5523,13 +5964,14 @@ void gt_IntroCleanup_Init () {
// Trigger: Intro Spawn SCVs
//--------------------------------------------------------------------------------------------------
bool gt_IntroSpawnSCVs_Func (bool testConds, bool runActions) {
- int auto19EB672A_ae;
- int auto19EB672A_ai;
-
// Variable Declarations
int lv_sCV;
int lv_sCVCount;
+ // Automatic Variable Declarations
+ int auto19EB672A_ae;
+ const int auto19EB672A_ai = 1;
+
// Variable Initialization
lv_sCVCount = 6;
@@ -5549,9 +5991,8 @@ bool gt_IntroSpawnSCVs_Func (bool testConds, bool runActions) {
Wait(0.25, c_timeGame);
}
auto19EB672A_ae = lv_sCVCount;
- auto19EB672A_ai = 1;
lv_sCV = 1;
- for ( ; ( (auto19EB672A_ai >= 0 && lv_sCV <= auto19EB672A_ae) || (auto19EB672A_ai <= 0 && lv_sCV >= auto19EB672A_ae) ) ; lv_sCV += auto19EB672A_ai ) {
+ for ( ; ( (auto19EB672A_ai >= 0 && lv_sCV <= auto19EB672A_ae) || (auto19EB672A_ai < 0 && lv_sCV >= auto19EB672A_ae) ) ; lv_sCV += auto19EB672A_ai ) {
Wait(1.0, c_timeGame);
if ((UnitOrderCount(gv_introCommandCenter) == 0) && (libNCMI_gf_PlayerInCinematicModeCampaign() == true) && (gv_introStopSCVSpawning == false)) {
UnitCreate(1, "SCV", 0, gv_pLAYER_01_USER, PointFromId(1183), 56.0);
@@ -5575,6 +6016,7 @@ void gt_IntroSpawnSCVs_Init () {
// Trigger: Intro Build Supply Depot
//--------------------------------------------------------------------------------------------------
bool gt_IntroBuildSupplyDepot_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == true))) {
@@ -5608,6 +6050,7 @@ void gt_IntroBuildSupplyDepot_Init () {
// Trigger: Victory Q
//--------------------------------------------------------------------------------------------------
bool gt_VictoryQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5643,6 +6086,29 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_battleCruiserHeight;
+ // Automatic Variable Declarations
+ unitgroup auto17EFCFDF_g;
+ int auto17EFCFDF_u;
+ unit auto17EFCFDF_var;
+ unitgroup auto31DEA79F_g;
+ int auto31DEA79F_u;
+ unit auto31DEA79F_var;
+ unitgroup autoE52A7418_g;
+ int autoE52A7418_u;
+ unit autoE52A7418_var;
+ unitgroup auto0A1B104E_g;
+ int auto0A1B104E_u;
+ unit auto0A1B104E_var;
+ unitgroup auto77897087_g;
+ int auto77897087_u;
+ unit auto77897087_var;
+ unitgroup auto7FBFB3D1_g;
+ int auto7FBFB3D1_u;
+ unit auto7FBFB3D1_var;
+ unitgroup auto405AF883_g;
+ int auto405AF883_u;
+ unit auto405AF883_var;
+
// Variable Initialization
lv_battleCruiserHeight = 8.0;
@@ -5659,62 +6125,74 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
GameTimeOfDayPause(true);
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- }
-
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionFromId(1), UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorBurrowed") && ((UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_02_DOMINION2) || (UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_02_DOMINION3))) {
- if ((UnitGetType(UnitGroupLoopCurrent()) == "SporeCrawler") && (libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(12)) == true)) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto17EFCFDF_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto17EFCFDF_u = UnitGroupCount(auto17EFCFDF_g, c_unitCountAll);
+ for (;; auto17EFCFDF_u -= 1) {
+ auto17EFCFDF_var = UnitGroupUnitFromEnd(auto17EFCFDF_g, auto17EFCFDF_u);
+ if (auto17EFCFDF_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto17EFCFDF_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto17EFCFDF_var);
+ libNtve_gf_PauseUnit(auto17EFCFDF_var, true);
+ }
+
+ }
+ auto31DEA79F_g = UnitGroup(null, c_playerAny, RegionFromId(1), UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto31DEA79F_u = UnitGroupCount(auto31DEA79F_g, c_unitCountAll);
+ for (;; auto31DEA79F_u -= 1) {
+ auto31DEA79F_var = UnitGroupUnitFromEnd(auto31DEA79F_g, auto31DEA79F_u);
+ if (auto31DEA79F_var == null) { break; }
+ if ((UnitGetType(auto31DEA79F_var) != "CreepTumorBurrowed") && ((UnitGetOwner(auto31DEA79F_var) == gv_pLAYER_02_DOMINION2) || (UnitGetOwner(auto31DEA79F_var) == gv_pLAYER_02_DOMINION3))) {
+ if ((UnitGetType(auto31DEA79F_var) == "SporeCrawler") && (libNtve_gf_UnitInRegion(auto31DEA79F_var, RegionFromId(12)) == true)) {
+ UnitRemove(auto31DEA79F_var);
continue;
}
else {
- libNtve_gf_CreateUnitsWithDefaultFacing(1, UnitGetType(UnitGroupLoopCurrent()), c_unitCreateIgnorePlacement, UnitGetOwner(UnitGroupLoopCurrent()), UnitGetPosition(UnitGroupLoopCurrent()));
+ libNtve_gf_CreateUnitsWithDefaultFacing(1, UnitGetType(auto31DEA79F_var), c_unitCreateIgnorePlacement, UnitGetOwner(auto31DEA79F_var), UnitGetPosition(auto31DEA79F_var));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
- UnitRemove(UnitGroupLoopCurrent());
+ UnitRemove(auto31DEA79F_var);
}
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_02_DOMINION2) || (UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_02_DOMINION3))) {
- UnitRemove(UnitGroupLoopCurrent());
+ autoE52A7418_g = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoE52A7418_u = UnitGroupCount(autoE52A7418_g, c_unitCountAll);
+ for (;; autoE52A7418_u -= 1) {
+ autoE52A7418_var = UnitGroupUnitFromEnd(autoE52A7418_g, autoE52A7418_u);
+ if (autoE52A7418_var == null) { break; }
+ if (((UnitGetOwner(autoE52A7418_var) == gv_pLAYER_02_DOMINION2) || (UnitGetOwner(autoE52A7418_var) == gv_pLAYER_02_DOMINION3))) {
+ UnitRemove(autoE52A7418_var);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter((1 << c_targetFilterStructure), 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "ModelFlagsClear OutlineOccluder");
+ auto0A1B104E_g = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter((1 << c_targetFilterStructure), 0, 0, 0), 0);
+ auto0A1B104E_u = UnitGroupCount(auto0A1B104E_g, c_unitCountAll);
+ for (;; auto0A1B104E_u -= 1) {
+ auto0A1B104E_var = UnitGroupUnitFromEnd(auto0A1B104E_g, auto0A1B104E_u);
+ if (auto0A1B104E_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(auto0A1B104E_var, "ModelFlagsClear OutlineOccluder");
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_01_USER)) {
- UnitGroupAdd(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
+ auto77897087_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto77897087_u = UnitGroupCount(auto77897087_g, c_unitCountAll);
+ for (;; auto77897087_u -= 1) {
+ auto77897087_var = UnitGroupUnitFromEnd(auto77897087_g, auto77897087_u);
+ if (auto77897087_var == null) { break; }
+ if ((UnitGetOwner(auto77897087_var) == gv_pLAYER_01_USER)) {
+ UnitGroupAdd(gv_cinematicHiddenUnits, auto77897087_var);
}
else {
- if (((UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_02_DOMINION) || (UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_02_DOMINION5)) && (UnitTypeTestAttribute(UnitGetType(UnitGroupLoopCurrent()), c_unitAttributeStructure) == false)) {
- UnitGroupAdd(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
+ if (((UnitGetOwner(auto77897087_var) == gv_pLAYER_02_DOMINION) || (UnitGetOwner(auto77897087_var) == gv_pLAYER_02_DOMINION5)) && (UnitTypeTestAttribute(UnitGetType(auto77897087_var), c_unitAttributeStructure) == false)) {
+ UnitGroupAdd(gv_cinematicHiddenUnits, auto77897087_var);
}
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto7FBFB3D1_g = gv_cinematicHiddenUnits;
+ auto7FBFB3D1_u = UnitGroupCount(auto7FBFB3D1_g, c_unitCountAll);
+ for (;; auto7FBFB3D1_u -= 1) {
+ auto7FBFB3D1_var = UnitGroupUnitFromEnd(auto7FBFB3D1_g, auto7FBFB3D1_u);
+ if (auto7FBFB3D1_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto7FBFB3D1_var, false);
}
- UnitGroupLoopEnd();
UnitCreate(1, "Battlecruiser", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION6, PointFromId(1079), PointGetFacing(PointFromId(1079)));
gv_victoryTransmittingCruiser = UnitLastCreated();
UnitGroupAdd(gv_cinematicTempUnits, gv_victoryTransmittingCruiser);
@@ -5786,26 +6264,28 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
UnitGroupAddUnitGroup(gv_cinematicTempUnits, UnitLastCreatedGroup());
libNtve_gf_CreateUnitsWithDefaultFacing(3, "Drone", 0, gv_pLAYER_02_DOMINION3, RegionRandomPoint(RegionFromId(41)));
UnitGroupAddUnitGroup(gv_cinematicTempUnits, UnitLastCreatedGroup());
- UnitGroupLoopBegin(UnitGroupAlliance(gv_pLAYER_02_DOMINION6, c_unitAllianceEnemy, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_01_USER)) {
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Mega);
- if ((UnitGetType(UnitGroupLoopCurrent()) == "Ultralisk")) {
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifePercent, 50.0);
+ auto405AF883_g = UnitGroupAlliance(gv_pLAYER_02_DOMINION6, c_unitAllianceEnemy, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto405AF883_u = UnitGroupCount(auto405AF883_g, c_unitCountAll);
+ for (;; auto405AF883_u -= 1) {
+ auto405AF883_var = UnitGroupUnitFromEnd(auto405AF883_g, auto405AF883_u);
+ if (auto405AF883_var == null) { break; }
+ if ((UnitGetOwner(auto405AF883_var) != gv_pLAYER_01_USER)) {
+ libNtve_gf_ChangeUnitDamage(auto405AF883_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Mega);
+ if ((UnitGetType(auto405AF883_var) == "Ultralisk")) {
+ UnitSetPropertyFixed(auto405AF883_var, c_unitPropLifePercent, 50.0);
}
}
- if ((UnitTypeTestAttribute(UnitGetType(UnitGroupLoopCurrent()), c_unitAttributeStructure) != true) && (UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_01_USER) && (UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_02_DOMINION) && (UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_02_DOMINION5) && (UnitGetType(UnitGroupLoopCurrent()) != "Drone")) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "InstallationZergWander", UnitGroupLoopCurrent(), 1);
+ if ((UnitTypeTestAttribute(UnitGetType(auto405AF883_var), c_unitAttributeStructure) != true) && (UnitGetOwner(auto405AF883_var) != gv_pLAYER_01_USER) && (UnitGetOwner(auto405AF883_var) != gv_pLAYER_02_DOMINION) && (UnitGetOwner(auto405AF883_var) != gv_pLAYER_02_DOMINION5) && (UnitGetType(auto405AF883_var) != "Drone")) {
+ UnitBehaviorAdd(auto405AF883_var, "InstallationZergWander", auto405AF883_var, 1);
}
- if ((UnitGetType(UnitGroupLoopCurrent()) == "Drone")) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(null, UnitGroupClosestToPoint(UnitGroup("MineralField", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), UnitGetPosition(UnitGroupLoopCurrent()))), c_orderQueueReplace);
+ if ((UnitGetType(auto405AF883_var) == "Drone")) {
+ UnitIssueOrder(auto405AF883_var, OrderTargetingUnit(null, UnitGroupClosestToPoint(UnitGroup("MineralField", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), UnitGetPosition(auto405AF883_var))), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -5821,6 +6301,11 @@ bool gt_VictoryCinematic_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_battlecruisers;
+ // Automatic Variable Declarations
+ unitgroup auto33BD1170_g;
+ int auto33BD1170_u;
+ unit auto33BD1170_var;
+
// Variable Initialization
lv_battlecruisers = UnitGroupEmpty();
@@ -5847,11 +6332,13 @@ bool gt_VictoryCinematic_Func (bool testConds, bool runActions) {
TransmissionWait(TransmissionLastSent(), (SoundLengthSync(SoundLink(ConversationDataGetSound("Mission_Nova02|Line00100", true), c_soundIndexAny)) / 2.0));
TriggerExecute(gt_VictoryDropPodAssault, true, false);
UnitSetHeight(gv_victoryTransmittingCruiser, 8.0, 0.0);
- UnitGroupLoopBegin(gv_victoryBattleCruisers);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto33BD1170_g = gv_victoryBattleCruisers;
+ auto33BD1170_u = UnitGroupCount(auto33BD1170_g, c_unitCountAll);
+ for (;; auto33BD1170_u -= 1) {
+ auto33BD1170_var = UnitGroupUnitFromEnd(auto33BD1170_g, auto33BD1170_u);
+ if (auto33BD1170_var == null) { break; }
+ UnitRemove(auto33BD1170_var);
}
- UnitGroupLoopEnd();
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(1230), 0.0, -1, 10, true);
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(1233), (SoundLengthSync(SoundLink(ConversationDataGetSound("Mission_Nova02|Line00101", true), c_soundIndexAny)) + SoundLengthSync(SoundLink(ConversationDataGetSound("Mission_Nova02|Line00102", true), c_soundIndexAny)) + SoundLengthSync(SoundLink(ConversationDataGetSound("Mission_Nova02|Line00103", true), c_soundIndexAny))), -1, 10, true);
CameraShake(gv_pLAYER_01_USER, "Light", "SubtleMove", 0.0, 0.0, 20.0);
@@ -5884,6 +6371,7 @@ bool gt_VictoryCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -5910,6 +6398,7 @@ void gt_VictoryCinematicEnd_Init () {
// Trigger: Victory Cleanup
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCleanup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -5934,6 +6423,7 @@ bool gt_VictoryBattlecruiserAssault_Func (bool testConds, bool runActions) {
unitgroup lv_dropPodUnitGroup;
unit lv_defenderUnit;
+ // Automatic Variable Declarations
// Variable Initialization
lv_dropPodUnitGroup = UnitGroupEmpty();
@@ -5968,6 +6458,11 @@ void gt_VictoryBattlecruiserAssault_Init () {
// Trigger: Victory Drop Pod Assault
//--------------------------------------------------------------------------------------------------
bool gt_VictoryDropPodAssault_Func (bool testConds, bool runActions) {
+ // Variable Declarations
+ unitgroup lv_dropPodUnitGroup;
+ unit lv_defenderUnit;
+
+ // Automatic Variable Declarations
unitgroup auto4E528D73_g;
int auto4E528D73_u;
unitgroup auto2CEA3011_g;
@@ -5975,10 +6470,6 @@ bool gt_VictoryDropPodAssault_Func (bool testConds, bool runActions) {
unitgroup autoEE084E77_g;
int autoEE084E77_u;
- // Variable Declarations
- unitgroup lv_dropPodUnitGroup;
- unit lv_defenderUnit;
-
// Variable Initialization
lv_dropPodUnitGroup = UnitGroupEmpty();
@@ -5993,9 +6484,10 @@ bool gt_VictoryDropPodAssault_Func (bool testConds, bool runActions) {
UnitGroupAddUnitGroup(lv_dropPodUnitGroup, UnitLastCreatedGroup());
libNCMI_gf_CreateDropPod(libNCMI_ge_DropPodRace_Terran, PointFromId(1089), lv_dropPodUnitGroup, false, gv_pLAYER_02_DOMINION6);
auto4E528D73_g = lv_dropPodUnitGroup;
- auto4E528D73_u = 1;
- for ( ; auto4E528D73_u <= UnitGroupCount(auto4E528D73_g, c_unitCountAll) ; auto4E528D73_u += BoolToInt(lv_defenderUnit == UnitGroupUnit(auto4E528D73_g, auto4E528D73_u)) ) {
- lv_defenderUnit = UnitGroupUnit(auto4E528D73_g, auto4E528D73_u);
+ auto4E528D73_u = UnitGroupCount(auto4E528D73_g, c_unitCountAll);
+ for (;; auto4E528D73_u -= 1) {
+ lv_defenderUnit = UnitGroupUnitFromEnd(auto4E528D73_g, auto4E528D73_u);
+ if (lv_defenderUnit == null) { break; }
gf_MaintainForwardAttackMomentum(lv_defenderUnit);
}
Wait(2.0, c_timeGame);
@@ -6006,9 +6498,10 @@ bool gt_VictoryDropPodAssault_Func (bool testConds, bool runActions) {
UnitGroupAddUnitGroup(lv_dropPodUnitGroup, UnitLastCreatedGroup());
libNCMI_gf_CreateDropPod(libNCMI_ge_DropPodRace_Terran, PointFromId(1219), lv_dropPodUnitGroup, false, gv_pLAYER_02_DOMINION6);
auto2CEA3011_g = lv_dropPodUnitGroup;
- auto2CEA3011_u = 1;
- for ( ; auto2CEA3011_u <= UnitGroupCount(auto2CEA3011_g, c_unitCountAll) ; auto2CEA3011_u += BoolToInt(lv_defenderUnit == UnitGroupUnit(auto2CEA3011_g, auto2CEA3011_u)) ) {
- lv_defenderUnit = UnitGroupUnit(auto2CEA3011_g, auto2CEA3011_u);
+ auto2CEA3011_u = UnitGroupCount(auto2CEA3011_g, c_unitCountAll);
+ for (;; auto2CEA3011_u -= 1) {
+ lv_defenderUnit = UnitGroupUnitFromEnd(auto2CEA3011_g, auto2CEA3011_u);
+ if (lv_defenderUnit == null) { break; }
gf_MaintainForwardAttackMomentum(lv_defenderUnit);
}
Wait(2.0, c_timeGame);
@@ -6019,9 +6512,10 @@ bool gt_VictoryDropPodAssault_Func (bool testConds, bool runActions) {
UnitGroupAddUnitGroup(lv_dropPodUnitGroup, UnitLastCreatedGroup());
libNCMI_gf_CreateDropPod(libNCMI_ge_DropPodRace_Terran, PointFromId(1220), lv_dropPodUnitGroup, false, gv_pLAYER_02_DOMINION6);
autoEE084E77_g = lv_dropPodUnitGroup;
- autoEE084E77_u = 1;
- for ( ; autoEE084E77_u <= UnitGroupCount(autoEE084E77_g, c_unitCountAll) ; autoEE084E77_u += BoolToInt(lv_defenderUnit == UnitGroupUnit(autoEE084E77_g, autoEE084E77_u)) ) {
- lv_defenderUnit = UnitGroupUnit(autoEE084E77_g, autoEE084E77_u);
+ autoEE084E77_u = UnitGroupCount(autoEE084E77_g, c_unitCountAll);
+ for (;; autoEE084E77_u -= 1) {
+ lv_defenderUnit = UnitGroupUnitFromEnd(autoEE084E77_g, autoEE084E77_u);
+ if (lv_defenderUnit == null) { break; }
gf_MaintainForwardAttackMomentum(lv_defenderUnit);
}
return true;
@@ -6036,15 +6530,16 @@ void gt_VictoryDropPodAssault_Init () {
// Trigger: Victory DOM Lander 01
//--------------------------------------------------------------------------------------------------
bool gt_VictoryDOMLander01_Func (bool testConds, bool runActions) {
- int autoFB95F2FA_n;
- int autoFB95F2FA_i;
- int auto52377FBA_n;
- int auto52377FBA_i;
-
// Variable Declarations
fixed lv_movementAngleIncrement;
unit lv_landerUnit;
+ // Automatic Variable Declarations
+ const int autoFB95F2FA_n = 6;
+ int autoFB95F2FA_i;
+ const int auto52377FBA_n = 2;
+ int auto52377FBA_i;
+
// Variable Initialization
// Actions
@@ -6063,7 +6558,6 @@ bool gt_VictoryDOMLander01_Func (bool testConds, bool runActions) {
Wait(1.0, c_timeGame);
}
Wait(5.0, c_timeGame);
- autoFB95F2FA_n = 6;
for (autoFB95F2FA_i = 1; autoFB95F2FA_i <= autoFB95F2FA_n; autoFB95F2FA_i += 1) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Separatist", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION6, PointFromId(1608));
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(PointFromId(1608), 3.0, (270.0 + lv_movementAngleIncrement))), c_orderQueueReplace);
@@ -6075,7 +6569,6 @@ bool gt_VictoryDOMLander01_Func (bool testConds, bool runActions) {
}
Wait(4.0, c_timeGame);
lv_movementAngleIncrement = 0.0;
- auto52377FBA_n = 2;
for (auto52377FBA_i = 1; auto52377FBA_i <= auto52377FBA_n; auto52377FBA_i += 1) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "HellionTank", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION6, PointFromId(1608));
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(PointFromId(1608), 3.0, (270.0 + lv_movementAngleIncrement))), c_orderQueueReplace);
@@ -6097,15 +6590,16 @@ void gt_VictoryDOMLander01_Init () {
// Trigger: Victory DOM Lander 02
//--------------------------------------------------------------------------------------------------
bool gt_VictoryDOMLander02_Func (bool testConds, bool runActions) {
- int auto807BBBA3_n;
- int auto807BBBA3_i;
- int auto518411F2_n;
- int auto518411F2_i;
-
// Variable Declarations
fixed lv_movementAngleIncrement;
unit lv_landerUnit;
+ // Automatic Variable Declarations
+ const int auto807BBBA3_n = 6;
+ int auto807BBBA3_i;
+ const int auto518411F2_n = 2;
+ int auto518411F2_i;
+
// Variable Initialization
// Actions
@@ -6124,7 +6618,6 @@ bool gt_VictoryDOMLander02_Func (bool testConds, bool runActions) {
Wait(1.0, c_timeGame);
}
Wait(5.0, c_timeGame);
- auto807BBBA3_n = 6;
for (auto807BBBA3_i = 1; auto807BBBA3_i <= auto807BBBA3_n; auto807BBBA3_i += 1) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Separatist", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION6, PointFromId(1204));
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(PointFromId(1204), 3.0, (270.0 + lv_movementAngleIncrement))), c_orderQueueReplace);
@@ -6136,7 +6629,6 @@ bool gt_VictoryDOMLander02_Func (bool testConds, bool runActions) {
}
Wait(4.0, c_timeGame);
lv_movementAngleIncrement = 0.0;
- auto518411F2_n = 2;
for (auto518411F2_i = 1; auto518411F2_i <= auto518411F2_n; auto518411F2_i += 1) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "HellionTank", c_unitCreateIgnorePlacement, gv_pLAYER_02_DOMINION6, PointFromId(1204));
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(PointFromId(1204), 3.0, (270.0 + lv_movementAngleIncrement))), c_orderQueueReplace);
@@ -6164,6 +6656,17 @@ bool gt_VictoryMedivacs_Func (bool testConds, bool runActions) {
unitgroup lv_dominionEvacUnits;
unitgroup[3] lv_playerEvacUnits;
+ // Automatic Variable Declarations
+ unitgroup auto81C21A7B_g;
+ int auto81C21A7B_u;
+ unit auto81C21A7B_var;
+ unitgroup auto17FA9572_g;
+ int auto17FA9572_u;
+ unit auto17FA9572_var;
+ unitgroup autoF68613B4_g;
+ int autoF68613B4_u;
+ unit autoF68613B4_var;
+
// Variable Initialization
lv_dominionEvacUnits = UnitGroupEmpty();
for (init_i = 0; init_i <= 2; init_i += 1) {
@@ -6191,39 +6694,45 @@ bool gt_VictoryMedivacs_Func (bool testConds, bool runActions) {
UnitGroupAdd(lv_dominionEvacUnits, UnitFromId(492));
UnitGroupAdd(lv_dominionEvacUnits, UnitFromId(496));
UnitGroupAdd(lv_dominionEvacUnits, UnitFromId(491));
- UnitGroupLoopBegin(lv_dominionEvacUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitSetOwner(UnitGroupLoopCurrent(), gv_pLAYER_02_DOMINION, true);
+ auto81C21A7B_g = lv_dominionEvacUnits;
+ auto81C21A7B_u = UnitGroupCount(auto81C21A7B_g, c_unitCountAll);
+ for (;; auto81C21A7B_u -= 1) {
+ auto81C21A7B_var = UnitGroupUnitFromEnd(auto81C21A7B_g, auto81C21A7B_u);
+ if (auto81C21A7B_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto81C21A7B_var, true);
+ libNtve_gf_PauseUnit(auto81C21A7B_var, false);
+ UnitSetOwner(auto81C21A7B_var, gv_pLAYER_02_DOMINION, true);
}
- UnitGroupLoopEnd();
libNtve_gf_CreateUnitsAtPoint2(1, "NovaHero", c_unitCreateIgnorePlacement, gv_pLAYER_01_USER, PointFromId(1249));
UnitGroupAdd(lv_playerEvacUnits[1], UnitLastCreated());
UnitGroupAdd(lv_playerEvacUnits[1], UnitFromId(500));
UnitGroupAdd(lv_playerEvacUnits[1], UnitFromId(499));
UnitGroupAdd(lv_playerEvacUnits[1], UnitFromId(501));
UnitGroupAdd(lv_playerEvacUnits[1], UnitFromId(1236));
- UnitGroupLoopBegin(lv_playerEvacUnits[1]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitSetOwner(UnitGroupLoopCurrent(), gv_pLAYER_01_USER, true);
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
+ auto17FA9572_g = lv_playerEvacUnits[1];
+ auto17FA9572_u = UnitGroupCount(auto17FA9572_g, c_unitCountAll);
+ for (;; auto17FA9572_u -= 1) {
+ auto17FA9572_var = UnitGroupUnitFromEnd(auto17FA9572_g, auto17FA9572_u);
+ if (auto17FA9572_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto17FA9572_var, true);
+ libNtve_gf_PauseUnit(auto17FA9572_var, false);
+ UnitSetOwner(auto17FA9572_var, gv_pLAYER_01_USER, true);
+ libNtve_gf_ChangeUnitDamage(auto17FA9572_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
UnitSetOwner(UnitFromId(491), gv_pLAYER_01_USER, false);
Wait(0.6, c_timeGame);
- UnitGroupLoopBegin(lv_playerEvacUnits[1]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(AbilityCommand("move", 0), UnitFromId(491)), c_orderQueueReplace);
- if ((UnitGetType(UnitGroupLoopCurrent()) != "NovaHero")) {
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropMovementSpeed, (UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropMovementSpeed, c_unitPropNormal) / 1.2));
+ autoF68613B4_g = lv_playerEvacUnits[1];
+ autoF68613B4_u = UnitGroupCount(autoF68613B4_g, c_unitCountAll);
+ for (;; autoF68613B4_u -= 1) {
+ autoF68613B4_var = UnitGroupUnitFromEnd(autoF68613B4_g, autoF68613B4_u);
+ if (autoF68613B4_var == null) { break; }
+ UnitIssueOrder(autoF68613B4_var, OrderTargetingUnit(AbilityCommand("move", 0), UnitFromId(491)), c_orderQueueReplace);
+ if ((UnitGetType(autoF68613B4_var) != "NovaHero")) {
+ UnitSetPropertyFixed(autoF68613B4_var, c_unitPropMovementSpeed, (UnitGetPropertyFixed(autoF68613B4_var, c_unitPropMovementSpeed, c_unitPropNormal) / 1.2));
}
- gf_MedivacPickupEvacUnits(UnitGroupLoopCurrent(), UnitFromId(491));
+ gf_MedivacPickupEvacUnits(autoF68613B4_var, UnitFromId(491));
}
- UnitGroupLoopEnd();
Wait(6.0, c_timeGame);
UnitSetHeight(UnitFromId(491), UnitGetPropertyFixed(UnitFromId(491), c_unitPropHeight, c_unitPropNormal), 2.0);
UnitIssueOrder(UnitFromId(491), Order(AbilityCommand("MedivacSpeedBoost", 0)), c_orderQueueReplace);
@@ -6313,6 +6822,7 @@ void InitTriggers () {
gt_SpiderMineUnlockAchievement_Init();
gt_AlliedStructuresLostTracker_Init();
gt_AlliedUnitsLostTracker_Init();
+ gt_AchievementKillenemyunitswithSpiderMines_Init();
gt_TipReadyQ_Init();
gt_StartAI_Init();
gt_AIUpgradeCasualNormal_Init();
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Preload.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Preload.xml
index 95fbb19daf..1c7e41b365 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Preload.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Preload.xml
@@ -1,4 +1,4 @@
-
+
@@ -7,38 +7,32 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
@@ -58,12 +52,18 @@
+
+
+
+
+
+
@@ -183,9 +183,10 @@
+
+
-
@@ -194,7 +195,6 @@
-
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers
index ab212d06fd..0d267e6255 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers
@@ -24745,6 +24745,10 @@
+
+
+
+
@@ -25572,6 +25576,309 @@
+
+
+ Anniversary Achievement
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ VultureSpiderMinesDamage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anniversary_Nova02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anniversary_Nova02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 200
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers.version
index 73040c0d2e..b47db87fe4 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers.version and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/Triggers.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/dede.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..1680893060
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Einzelspieler
+DocInfo/Name=In der Falle
+LoadingScreen/Tip=Ihr Gegner benötigt Flugeinheiten, um Ihre Einheiten auf erhöhtem Terrain zu sehen. Auf diese Weise können Sie Hinterhalte vorbereiten und sich Vergeltungsschlägen entziehen.
+LoadingScreen/TipRestart=Bauen Sie zusätzliche Kasernen oder schließen Sie einen Reaktor an bestehende Kasernen an, um mehrere Armeeeinheiten gleichzeitig produzieren zu können.
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Terranische Liga
+MapInfo/Player03/Name=Forschungsaußenposten
+MapInfo/Player04/Name=Verwilderte Zerg
+MapInfo/Player05/Name=Verwilderte Zerg
+MapInfo/Player06/Name=Verwilderte Zerg
+MapInfo/Player07/Name=Verteidiger der Menschheit
+MapInfo/Player08/Name=Videosequenzeinheiten
+MapInfo/Player09/Name=Feindlich
+Param/Value/19409116=Zerg-Angriff
+Param/Value/1FE8C73E=Hellion (26 Kills)
+Param/Value/2BBB6E4E=Overlord entdeckt
+Param/Value/32356DE3=Overlord entdeckt
+Param/Value/373365A9=Novas Basis
+Param/Value/394B112E=Gegner mit Spinnenminen getötet:
+Param/Value/5E3EAC41=5 Tage
+Param/Value/6EDFDE50=All Ihre Gebäude wurden zerstört.
+Param/Value/A328851B=Zerg-Angriff
+Param/Value/AF0A987B=Ankunft der Flotte der Terranischen Liga
+Param/Value/B1A62AF0=Zerg-Angriff
+Param/Value/C2A4FFEA=Zerg-Angriff
+Param/Value/D41A9ED5=Admiral Horners Basis wurde vernichtet.
+Param/Value/FE76F69E=Liga-Gebäude verloren:
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/GameStrings.txt
index 994c54f977..2d3b6d72fc 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/GameStrings.txt
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/GameStrings.txt
@@ -12,6 +12,7 @@ MapInfo/Player06/Name=Feral Zerg
MapInfo/Player07/Name=Defenders of Man
MapInfo/Player08/Name=Cinematic Units
MapInfo/Player09/Name=Hostile
+Param/Expression/4CAD1DDE=AnniversaryAchievementTermSpiderMineKills = ~A~
Param/Value/19409116=Zerg Attack
Param/Value/1FE8C73E=Hellion (26 kills)
Param/Value/2BBB6E4E=Overlord Detected
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
index ae9483eab7..a176e0d552 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
@@ -69,6 +69,7 @@ Trigger/Name/04C0CAE9=Defenders of Man Arrival Q
Trigger/Name/051D5B80=Init 03 Units
Trigger/Name/0A31E6B1=Start AI
Trigger/Name/0D3C0498=Briefing Scene - Reapers
+Trigger/Name/106CA952=Achievement - Kill enemy units with Spider Mines
Trigger/Name/12B9C363=Briefing Scene - Hive
Trigger/Name/14AFC139=Intro Setup
Trigger/Name/16735C82=Defeat Horner's Base Destroyed
@@ -175,6 +176,7 @@ Trigger/Name/FEA2499E=Victory
Variable/Name/0331716E=waveGroupPing
Variable/Name/037076D8=Brutalisk Life
Variable/Name/0B87D803=FadeDuration
+Variable/Name/0F908F21=Achievement_SpiderMineKills
Variable/Name/10FFB9EF=PlayerEvacUnits
Variable/Name/1392EA48=EnemyEventZerglings
Variable/Name/13D90983=RavagerShotTargetPoint
@@ -225,6 +227,7 @@ Variable/Name/628BA737=DominionPlayerGroup
Variable/Name/652768C8=Final Wave Triggered
Variable/Name/65727922=CinematicPausedUnits
Variable/Name/67F31EE6=DropPodUnitGroup
+Variable/Name/68D4A20E=AnniversaryAchievementTermSpiderMineKills
Variable/Name/6904924C=battlecruisers
Variable/Name/704EEBAA=targetPoint
Variable/Name/705B7391=Reapers
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/eses.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..0f30bb10e5
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Un jugador
+DocInfo/Name=Golpe súbito
+LoadingScreen/Tip=Las fuerzas enemigas necesitan unidades voladoras para ver a tus unidades en terreno elevado. Aprovecha este factor para planear emboscadas y evitar represalias.
+LoadingScreen/TipRestart=Construye más barracones o reactores anexos para entrenar a varias unidades a la vez.
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Dominio terran
+MapInfo/Player03/Name=Avanzada de investigación
+MapInfo/Player04/Name=Zerg salvajes
+MapInfo/Player05/Name=Zerg salvajes
+MapInfo/Player06/Name=Zerg salvajes
+MapInfo/Player07/Name=Defensores del Hombre
+MapInfo/Player08/Name=Unidades cinemáticas
+MapInfo/Player09/Name=Hostil
+Param/Value/19409116=Ataque zerg
+Param/Value/1FE8C73E=Erebion (26 muertes)
+Param/Value/2BBB6E4E=Superamo detectado
+Param/Value/32356DE3=Superamo detectado
+Param/Value/373365A9=Base de Nova
+Param/Value/394B112E=Unidades enemigas asesinadas por minas araña /// Enemy Units Killed by Spider Mines:
+Param/Value/5E3EAC41=5 días
+Param/Value/6EDFDE50=Han destruido todas tus estructuras.
+Param/Value/A328851B=Ataque zerg
+Param/Value/AF0A987B=Llegada de la flota del Dominio
+Param/Value/B1A62AF0=Ataque zerg
+Param/Value/C2A4FFEA=Ataque zerg
+Param/Value/D41A9ED5=Han destruido la base del almirante Horner.
+Param/Value/FE76F69E=Estructuras del Dominio perdidas
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..324f0f5f51
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Un jugador
+DocInfo/Name=Golpe súbito
+LoadingScreen/Tip=Las fuerzas enemigas necesitan unidades voladoras para poder ver a las unidades que tienes en terreno elevado. Saca provecho de la situación para preparar emboscadas y evitar contraataques.
+LoadingScreen/TipRestart=Construye más Cuarteles o Reactores para producir varias unidades al mismo tiempo.
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Dominio terran
+MapInfo/Player03/Name=Puesto de avanzada de investigación
+MapInfo/Player04/Name=Zerg salvaje
+MapInfo/Player05/Name=Zerg salvaje
+MapInfo/Player06/Name=Zerg salvaje
+MapInfo/Player07/Name=Defensores del hombre
+MapInfo/Player08/Name=Unidades de cinemática
+MapInfo/Player09/Name=Hostil
+Param/Value/19409116=Ataque zerg
+Param/Value/1FE8C73E=Demonio (26 muertes causadas)
+Param/Value/2BBB6E4E=Amo supremo detectado
+Param/Value/32356DE3=Amo supremo detectado
+Param/Value/373365A9=Base de Nova
+Param/Value/394B112E=Unidades enemigas asesinadas con Minas araña:
+Param/Value/5E3EAC41=5 días
+Param/Value/6EDFDE50=Han destruido todas tus estructuras.
+Param/Value/A328851B=Ataque zerg
+Param/Value/AF0A987B=Llegada de la flota del Dominio
+Param/Value/B1A62AF0=Ataque zerg
+Param/Value/C2A4FFEA=Ataque zerg
+Param/Value/D41A9ED5=Han destruido la base del almirante Horner.
+Param/Value/FE76F69E=Estructuras del Dominio perdidas:
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..884c235d8f
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Solo
+DocInfo/Name=Attaque fulgurante
+LoadingScreen/Tip=Les troupes ennemies doivent posséder des unités volantes pour voir vos unités placées en hauteur. Servez-vous-en pour préparer des embuscades et éviter les représailles.
+LoadingScreen/TipRestart=Construisez des casernes ou des réacteurs supplémentaires pour produire plusieurs unités simultanément.
+MapInfo/Player00/Name=Neutre
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Dominion terran
+MapInfo/Player03/Name=Avant-poste de recherche
+MapInfo/Player04/Name=Zerg sauvage
+MapInfo/Player05/Name=Zerg sauvage
+MapInfo/Player06/Name=Zerg sauvage
+MapInfo/Player07/Name=Défenseurs de l’humanité
+MapInfo/Player08/Name=Unités de cinématique
+MapInfo/Player09/Name=Hostile
+Param/Value/19409116=Attaque zerg
+Param/Value/1FE8C73E=Tourmenteur (26 victimes)
+Param/Value/2BBB6E4E=Dominant détecté
+Param/Value/32356DE3=Dominant détecté
+Param/Value/373365A9=Base de Nova
+Param/Value/394B112E=Unités ennemies tuées par des mines araignées :
+Param/Value/5E3EAC41=5 jours
+Param/Value/6EDFDE50=Tous vos bâtiments ont été détruits.
+Param/Value/A328851B=Attaque zerg
+Param/Value/AF0A987B=Arrivée de la flotte du Dominion
+Param/Value/B1A62AF0=Attaque zerg
+Param/Value/C2A4FFEA=Attaque zerg
+Param/Value/D41A9ED5=La base de l’amiral Horner a été détruite.
+Param/Value/FE76F69E=Bâtiments du Dominion perdus :
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/itit.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..08c4708074
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Giocatore singolo
+DocInfo/Name=Attacco improvviso
+LoadingScreen/Tip=Le forze nemiche hanno bisogno di unità volanti per vedere le tue unità sulle alture. Sfruttale per tendere imboscate ed evitare ripercussioni.
+LoadingScreen/TipRestart=Costruisci altre Caserme o Reattori per produrre più unità contemporaneamente.
+MapInfo/Player00/Name=Neutrale
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Dominio Terran
+MapInfo/Player03/Name=Avamposto di ricerca
+MapInfo/Player04/Name=Zerg selvaggi
+MapInfo/Player05/Name=Zerg selvaggi
+MapInfo/Player06/Name=Zerg selvaggi
+MapInfo/Player07/Name=Difensori dell'Umanità
+MapInfo/Player08/Name=Unità filmato
+MapInfo/Player09/Name=Nemico
+Param/Value/19409116=Attacco zerg
+Param/Value/1FE8C73E=Hellion (26 uccisioni)
+Param/Value/2BBB6E4E=Sorvegliante rilevato
+Param/Value/32356DE3=Sorvegliante rilevato
+Param/Value/373365A9=Base di Nova
+Param/Value/394B112E=Nemici uccisi dalle Mine ragno
+Param/Value/5E3EAC41=5 giorni
+Param/Value/6EDFDE50=Tutte le tue strutture sono state distrutte.
+Param/Value/A328851B=Attacco zerg
+Param/Value/AF0A987B=Arrivo della flotta del Dominio
+Param/Value/B1A62AF0=Attacco zerg
+Param/Value/C2A4FFEA=Attacco zerg
+Param/Value/D41A9ED5=La base dell'ammiraglio Horner è stata distrutta.
+Param/Value/FE76F69E=Strutture del Dominio perse
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..19ef0372b1
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=싱글플레이어 /// Single Player
+DocInfo/Name=기습 공격
+LoadingScreen/Tip=적 병력은 공중 유닛이 있어야만 고지대에 있는 당신의 유닛을 볼 수 있습니다. 이 점을 이용해 매복을 준비하고, 적 공격을 피하십시오. /// Enemy forces require flying units in order to see your units on the high ground. Use this to set up ambushes and avoid retaliation.
+LoadingScreen/TipRestart=병영이나 반응로 부속건물을 추가로 건설하여 다수의 병력을 동시에 생산하십시오. /// Construct additional Barracks or Reactor add-ons to produce multiple army units at once.
+MapInfo/Player00/Name=중립 /// Neutral
+MapInfo/Player01/Name=노바 /// Nova
+MapInfo/Player02/Name=테란 자치령 /// Terran Dominion
+MapInfo/Player03/Name=연구 전초 기지 /// Research Outpost
+MapInfo/Player04/Name=야생 저그 /// Feral Zerg
+MapInfo/Player05/Name=야생 저그 /// Feral Zerg
+MapInfo/Player06/Name=야생 저그 /// Feral Zerg
+MapInfo/Player07/Name=인류의 수호자 /// Defenders of Man
+MapInfo/Player08/Name=동영상 유닛
+MapInfo/Player09/Name=적대 /// Hostile
+Param/Value/19409116=저그 공격 /// Zerg Attack
+Param/Value/1FE8C73E=화염차 (26 처치)
+Param/Value/2BBB6E4E=대군주 감지 /// Overlord Detected
+Param/Value/32356DE3=대군주 감지 /// Overlord Detected
+Param/Value/373365A9=노바의 기지 /// Nova's Base
+Param/Value/394B112E=거미 지뢰로 처치한 적 유닛 /// Enemy Units Killed by Spider Mines:
+Param/Value/5E3EAC41=5일
+Param/Value/6EDFDE50=구조물이 모두 파괴되었습니다. /// All of your structures have been destroyed.
+Param/Value/A328851B=저그 공격 /// Zerg Attack
+Param/Value/AF0A987B=자치령 함대 도착 /// Dominion Fleet Arrival
+Param/Value/B1A62AF0=저그 공격 /// Zerg Attack
+Param/Value/C2A4FFEA=저그 공격 /// Zerg Attack
+Param/Value/D41A9ED5=호너 제독의 기지가 파괴되었습니다. /// Admiral Horner's base has been destroyed.
+Param/Value/FE76F69E=자치령 손실 구조물 /// Dominion Structures Lost:
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..9bac5a2958
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Tryb jednoosobowy
+DocInfo/Name=Nagły atak
+LoadingScreen/Tip=Siły wroga potrzebują jednostek latających, aby zobaczyć twoje jednostki znajdujące się na podwyższeniu terenu. Wykorzystaj to, aby wyprowadzać ataki z zaskoczenia i unikać ataków odwetowych.
+LoadingScreen/TipRestart=Stwórz dodatkowe koszary lub dobudówkę w postaci reaktora, aby szkolić kilka jednostek armii jednocześnie.
+MapInfo/Player00/Name=Neutralny
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Dominium Terran
+MapInfo/Player03/Name=Placówka badawcza
+MapInfo/Player04/Name=Zdziczałe zergi
+MapInfo/Player05/Name=Zdziczałe zergi
+MapInfo/Player06/Name=Zdziczałe zergi
+MapInfo/Player07/Name=Obrońcy Ludzkości
+MapInfo/Player08/Name=Filmik, Jednostki
+MapInfo/Player09/Name=Wróg
+Param/Value/19409116=Atak zergów
+Param/Value/1FE8C73E=Helion (26 zabitych)
+Param/Value/2BBB6E4E=Wykryto nadrządcę
+Param/Value/32356DE3=Wykryto nadrządcę
+Param/Value/373365A9=Baza Novy
+Param/Value/394B112E=Wrogie jednostki zabite przez miny pajęcze
+Param/Value/5E3EAC41=5 dni
+Param/Value/6EDFDE50=Wszystkie twoje budowle zostały zniszczone.
+Param/Value/A328851B=Atak zergów
+Param/Value/AF0A987B=Przybycie floty Dominium
+Param/Value/B1A62AF0=Atak zergów
+Param/Value/C2A4FFEA=Atak zergów
+Param/Value/D41A9ED5=Baza admirała Hornera została zniszczona.
+Param/Value/FE76F69E=Stracone budowle Dominium
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..a7f45c6047
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Jogo Individual
+DocInfo/Name=Ataque Súbito
+LoadingScreen/Tip=As forças inimigas devem ter unidades voadoras para enxergar suas unidades em terrenos elevados. Use isso para armar emboscadas e evitar retaliações.
+LoadingScreen/TipRestart=Construa quartéis ou acople reatores extras para produzir várias unidades de exército de uma vez.
+MapInfo/Player00/Name=Neutro
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Supremacia Terrana
+MapInfo/Player03/Name=Pesquisar Posto Avançado
+MapInfo/Player04/Name=Zerg Selvagem
+MapInfo/Player05/Name=Zerg Selvagem
+MapInfo/Player06/Name=Zerg Selvagem
+MapInfo/Player07/Name=Defensores do Homem
+MapInfo/Player08/Name=Unidades de Cinemática
+MapInfo/Player09/Name=Inimigo
+Param/Value/19409116=Ataque Zerg
+Param/Value/1FE8C73E=Endiabrado (26 abates)
+Param/Value/2BBB6E4E=Suserano Detectado
+Param/Value/32356DE3=Suserano Detectado
+Param/Value/373365A9=Base de Nova
+Param/Value/394B112E=Unidades inimigas abatidas por minas-aranha:
+Param/Value/5E3EAC41=5 dias
+Param/Value/6EDFDE50=Todas as suas estruturas foram destruídas.
+Param/Value/A328851B=Ataque Zerg
+Param/Value/AF0A987B=Chegada da Frota da Supremacia
+Param/Value/B1A62AF0=Ataque Zerg
+Param/Value/C2A4FFEA=Ataque Zerg
+Param/Value/D41A9ED5=A base do Almirante Horner foi destruída.
+Param/Value/FE76F69E=Estruturas da Supremacia perdidas:
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..3d6987fb40
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=Одиночная игра
+DocInfo/Name=Внезапный удар
+LoadingScreen/Tip=На возвышенности ваших солдат могут обнаружить только воздушные войска. Это открывает возможности для внезапных и безнаказанных атак.
+LoadingScreen/TipRestart=Постройте дополнительные казармы или реактор, чтобы обучать больше войск одновременно.
+MapInfo/Player00/Name=Нейтральный
+MapInfo/Player01/Name=Нова
+MapInfo/Player02/Name=Доминион терранов
+MapInfo/Player03/Name=Исследовательская станция
+MapInfo/Player04/Name=Дикие зерги
+MapInfo/Player05/Name=Дикие зерги
+MapInfo/Player06/Name=Дикие зерги
+MapInfo/Player07/Name=Защитники человечества
+MapInfo/Player08/Name=Cinematic Artists
+MapInfo/Player09/Name=Противник
+Param/Value/19409116=Нападение зергов
+Param/Value/1FE8C73E=«Геллион» (26 убийств)
+Param/Value/2BBB6E4E=Обнаружен надзиратель
+Param/Value/32356DE3=Обнаружен надзиратель
+Param/Value/373365A9=База Новы
+Param/Value/394B112E=Убито противников паучьими минами
+Param/Value/5E3EAC41=5 дней
+Param/Value/6EDFDE50=Все ваши строения уничтожены.
+Param/Value/A328851B=Нападение зергов
+Param/Value/AF0A987B=До прибытия флота Доминиона
+Param/Value/B1A62AF0=Нападение зергов
+Param/Value/C2A4FFEA=Нападение зергов
+Param/Value/D41A9ED5=База адмирала Хорнера уничтожена.
+Param/Value/FE76F69E=Потеряно строений Доминиона
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..3c13cac13b
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=单人游戏
+DocInfo/Name=突袭行动 /// Sudden Strike
+LoadingScreen/Tip=敌方部队需要飞行单位才能看到你在高地上的单位。利用这一点可以布置伏击线并且不会遭到还击。 /// Enemy forces require flying units in order to see your units on the high ground. Use this to set up ambushes and avoid retaliation.
+LoadingScreen/TipRestart=建造更多的兵营或者搭建反应堆附属建筑来同时生产多名作战单位。 /// Construct additional Barracks or Reactor add-ons to produce multiple army units at once.
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=诺娃 /// Nova
+MapInfo/Player02/Name=泰伦帝国 /// Terran Dominion
+MapInfo/Player03/Name=科研哨站 /// Research Outpost
+MapInfo/Player04/Name=野生异虫 /// Feral Zerg
+MapInfo/Player05/Name=野生异虫 /// Feral Zerg
+MapInfo/Player06/Name=野生异虫 /// Feral Zerg
+MapInfo/Player07/Name=人类保卫者 /// Defenders of Man
+MapInfo/Player08/Name=电影场景单位
+MapInfo/Player09/Name=敌对
+Param/Value/19409116=异虫袭击 /// Zerg Attack
+Param/Value/1FE8C73E=恶火(26击杀)
+Param/Value/2BBB6E4E=侦测到王虫 /// Overlord Detected
+Param/Value/32356DE3=侦测到王虫 /// Overlord Detected
+Param/Value/373365A9=诺娃的基地 /// Nova's Base
+Param/Value/394B112E=被蜘蛛雷消灭的敌方单位: /// Enemy Units Killed by Spider Mines:
+Param/Value/5E3EAC41=5天
+Param/Value/6EDFDE50=你所有的建筑都被摧毁了。 /// All of your structures have been destroyed.
+Param/Value/A328851B=异虫袭击 /// Zerg Attack
+Param/Value/AF0A987B=帝国舰队抵达 /// Dominion Fleet Arrival
+Param/Value/B1A62AF0=异虫袭击 /// Zerg Attack
+Param/Value/C2A4FFEA=异虫袭击 /// Zerg Attack
+Param/Value/D41A9ED5=霍纳上将的基地已被摧毁。 /// Admiral Horner's base has been destroyed.
+Param/Value/FE76F69E=损失的帝国建筑: /// Dominion Structures Lost:
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..318515bdb0
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova02.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,28 @@
+DocInfo/DescShort=單人作戰 /// Single Player
+DocInfo/Name=突襲 /// Sudden Strike
+LoadingScreen/Tip=敵方部隊需要飛行單位,才能發現你位在高處的部隊。可利用這點來發動伏擊,同時避開反攻。 /// Enemy forces require flying units in order to see your units on the high ground. Use this to set up ambushes and avoid retaliation.
+LoadingScreen/TipRestart=建造更多兵營或是附屬的建築反應爐,就能同時生產更多部隊。 /// Construct additional Barracks or Reactor add-ons to produce multiple army units at once.
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=諾娃 /// Nova
+MapInfo/Player02/Name=泰倫自治聯盟 /// Terran Dominion
+MapInfo/Player03/Name=研究前哨站
+MapInfo/Player04/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player05/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player06/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player07/Name=人類守護組織 /// Defenders of Man
+MapInfo/Player08/Name=影片單位
+MapInfo/Player09/Name=敵對
+Param/Value/19409116=蟲族攻擊 /// Zerg Attack
+Param/Value/1FE8C73E=惡狼(26次擊殺)
+Param/Value/2BBB6E4E=偵測到王蟲 /// Overlord Detected
+Param/Value/32356DE3=偵測到王蟲 /// Overlord Detected
+Param/Value/373365A9=諾娃的基地 /// Nova's Base
+Param/Value/394B112E=蜘蛛詭雷殺死的敵方單位: /// Enemy Units Killed by Spider Mines:
+Param/Value/5E3EAC41=5天
+Param/Value/6EDFDE50=你所有的建築已被摧毀。 /// All of your structures have been destroyed.
+Param/Value/A328851B=蟲族進攻 /// Zerg Attack
+Param/Value/AF0A987B=自治聯盟艦隊抵達 /// Dominion Fleet Arrival
+Param/Value/B1A62AF0=蟲族攻擊 /// Zerg Attack
+Param/Value/C2A4FFEA=蟲族攻擊 /// Zerg Attack
+Param/Value/D41A9ED5=霍納上將的基地已被摧毀。 /// Admiral Horner's base has been destroyed.
+Param/Value/FE76F69E=損失的自治聯盟建築: /// Dominion Structures Lost:
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/BankList.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/BankList.xml
index 21021f1ffa..73d7af5b3d 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/BankList.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/BankList.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ComponentList.SC2Components b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ComponentList.SC2Components
index aa8b808b41..f7974a5e9a 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ComponentList.SC2Components
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ComponentList.SC2Components
@@ -1,6 +1,5 @@
-
+
-
GameData
GameText
DocumentInfo
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/DocumentHeader b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/DocumentHeader
index db6e7524b6..0426adc73d 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/DocumentHeader and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/DocumentHeader differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy
index ed37dc4585..ef752c610e 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/MapScript.galaxy
@@ -321,6 +321,7 @@ trigger gt_DefeatCheat;
trigger gt_VictoryStatDOMKills;
trigger gt_VictoryStatSupplyTracker;
trigger gt_AchievementBunkerRush;
+trigger gt_AchievementFilledfivegarrisonswithin10minutes;
trigger gt_TipReadyQ;
trigger gt_StartAI;
trigger gt_AIUpgradesCasualNormal;
@@ -561,27 +562,26 @@ void cai_runall () {
// Global Functions
//--------------------------------------------------------------------------------------------------
point gf_RandomPointinRegionSharedbyGroup (region lp_region, unitgroup lp_unitGroup) {
- int auto632605BB_n;
- int auto632605BB_i;
- int auto6E14573E_ae;
- int auto6E14573E_ai;
-
// Variable Declarations
point lv_currentPoint;
int lv_unitIndex;
bool lv_pointIsValid;
+ // Automatic Variable Declarations
+ const int auto632605BB_n = 50;
+ int auto632605BB_i;
+ int auto6E14573E_ae;
+ const int auto6E14573E_ai = 1;
+
// Variable Initialization
// Implementation
- auto632605BB_n = 50;
for (auto632605BB_i = 1; auto632605BB_i <= auto632605BB_n; auto632605BB_i += 1) {
lv_currentPoint = RegionRandomPoint(lp_region);
lv_pointIsValid = true;
auto6E14573E_ae = UnitGroupCount(lp_unitGroup, c_unitCountAlive);
- auto6E14573E_ai = 1;
lv_unitIndex = 1;
- for ( ; ( (auto6E14573E_ai >= 0 && lv_unitIndex <= auto6E14573E_ae) || (auto6E14573E_ai <= 0 && lv_unitIndex >= auto6E14573E_ae) ) ; lv_unitIndex += auto6E14573E_ai ) {
+ for ( ; ( (auto6E14573E_ai >= 0 && lv_unitIndex <= auto6E14573E_ae) || (auto6E14573E_ai < 0 && lv_unitIndex >= auto6E14573E_ae) ) ; lv_unitIndex += auto6E14573E_ai ) {
if ((DistanceBetweenPoints(libNCMI_gf_StealthAIGetHomePointOfUnit(UnitGroupUnit(lp_unitGroup, lv_unitIndex)), lv_currentPoint) < 1.0)) {
lv_pointIsValid = false;
break;
@@ -615,13 +615,14 @@ bool auto_gf_DOMUnitsInvestigateTransmissionsQ_TriggerFunc (bool testConds, bool
unitgroup lp_investigatingUnitGroup = auto_gf_DOMUnitsInvestigateTransmissionsQ_lp_investigatingUnitGroup;
point lp_investigatingPoint = auto_gf_DOMUnitsInvestigateTransmissionsQ_lp_investigatingPoint;
- int autoC12BC70F_val;
- int auto8F97E3BD_val;
-
// Variable Declarations
unit lv_speaker;
timer lv_talkTimer;
+ // Automatic Variable Declarations
+ int autoC12BC70F_val;
+ int auto8F97E3BD_val;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -709,6 +710,7 @@ bool auto_gf_S1GarrisonUnit_TriggerFunc (bool testConds, bool runActions) {
unit lp_garrisonUnit = auto_gf_S1GarrisonUnit_lp_garrisonUnit;
int lp_garrisonIndex = auto_gf_S1GarrisonUnit_lp_garrisonIndex;
+ // Automatic Variable Declarations
// Implementation
gv_s1_GarrisonSpots[lp_garrisonIndex].lv_garrisonUnitCount += 1;
TextExpressionSetToken("Param/Expression/0F43735D", "A", UnitTypeGetName(gv_s1_GarrisonSpots[lp_garrisonIndex].lv_garrisonUnitType));
@@ -734,6 +736,7 @@ bool auto_gf_S1GarrisonUnit_TriggerFunc (bool testConds, bool runActions) {
TriggerExecute(gt_AchievementBunkerRush, true, false);
TriggerExecute(gt_ObjectiveFillGarrisonsUpdate, true, false);
if ((gv_objectiveFillGarrisonsCount >= gv_objectiveFillGarrisonsMax)) {
+ TriggerExecute(gt_AchievementFilledfivegarrisonswithin10minutes, true, false);
TriggerExecute(gt_S1GarrisonsAllFilledUp, true, false);
}
else {
@@ -767,6 +770,7 @@ bool auto_gf_S1MoveAndGarrisonUnit_TriggerFunc (bool testConds, bool runActions)
int lp_garrisonIndex = auto_gf_S1MoveAndGarrisonUnit_lp_garrisonIndex;
int lp_garrisonSpotIndex = auto_gf_S1MoveAndGarrisonUnit_lp_garrisonSpotIndex;
+ // Automatic Variable Declarations
string autoB9250851_val;
// Implementation
@@ -843,19 +847,19 @@ bool auto_gf_S1UnloadUnitsFromNydusWorm_TriggerFunc (bool testConds, bool runAct
point lp_rallyPoint = auto_gf_S1UnloadUnitsFromNydusWorm_lp_rallyPoint;
int lp_player = auto_gf_S1UnloadUnitsFromNydusWorm_lp_player;
- int auto7205CDCE_ae;
- int auto7205CDCE_ai;
-
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ int auto7205CDCE_ae;
+ const int auto7205CDCE_ai = 1;
+
// Variable Initialization
// Implementation
auto7205CDCE_ae = lp_count;
- auto7205CDCE_ai = 1;
lv_i = 1;
- for ( ; ( (auto7205CDCE_ai >= 0 && lv_i <= auto7205CDCE_ae) || (auto7205CDCE_ai <= 0 && lv_i >= auto7205CDCE_ae) ) ; lv_i += auto7205CDCE_ai ) {
+ for ( ; ( (auto7205CDCE_ai >= 0 && lv_i <= auto7205CDCE_ae) || (auto7205CDCE_ai < 0 && lv_i >= auto7205CDCE_ae) ) ; lv_i += auto7205CDCE_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true) && (libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -885,6 +889,7 @@ void gf_S1BonusObjectiveDespawnZergFlyer (unit lp_flyerUnit) {
bool auto_gf_S1BonusObjectiveDespawnZergFlyer_TriggerFunc (bool testConds, bool runActions) {
unit lp_flyerUnit = auto_gf_S1BonusObjectiveDespawnZergFlyer_lp_flyerUnit;
+ // Automatic Variable Declarations
// Implementation
while ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (gv_currentStage == 1) && (DistanceBetweenPoints(UnitGetPosition(lp_flyerUnit), RegionGetCenter(RegionFromId(57))) >= 1)) {
UnitIssueOrder(lp_flyerUnit, OrderTargetingPoint(AbilityCommand("attack", 0), RegionGetCenter(RegionFromId(57))), c_orderQueueReplace);
@@ -912,6 +917,7 @@ bool auto_gf_S1BonusObjectiveSpawnSurvivor_TriggerFunc (bool testConds, bool run
// Variable Declarations
point lv_survivorTargetPoint;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -948,6 +954,7 @@ bool auto_gf_S3ZergWanderAfterDelay_TriggerFunc (bool testConds, bool runActions
// Variable Declarations
region lv_wanderRegion;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -982,6 +989,11 @@ void gf_S3LiftOffHerculesVertically (unit lp_shipUnit) {
bool auto_gf_S3LiftOffHerculesVertically_TriggerFunc (bool testConds, bool runActions) {
unit lp_shipUnit = auto_gf_S3LiftOffHerculesVertically_lp_shipUnit;
+ // Automatic Variable Declarations
+ unitgroup autoC743DDFA_g;
+ int autoC743DDFA_u;
+ unit autoC743DDFA_var;
+
// Implementation
UnitIssueOrder(lp_shipUnit, Order(AbilityCommand("HerculesLiftOff", 0)), c_orderQueueReplace);
Wait(3.0, c_timeGame);
@@ -989,11 +1001,13 @@ bool auto_gf_S3LiftOffHerculesVertically_TriggerFunc (bool testConds, bool runAc
Wait(1.5, c_timeGame);
libNtve_gf_SendActorMessageToUnit(lp_shipUnit, "SetOpacity 0.000000 1.500000");
Wait(1.5, c_timeGame);
- UnitGroupLoopBegin(UnitCargoGroup(lp_shipUnit));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ autoC743DDFA_g = UnitCargoGroup(lp_shipUnit);
+ autoC743DDFA_u = UnitGroupCount(autoC743DDFA_g, c_unitCountAll);
+ for (;; autoC743DDFA_u -= 1) {
+ autoC743DDFA_var = UnitGroupUnitFromEnd(autoC743DDFA_g, autoC743DDFA_u);
+ if (autoC743DDFA_var == null) { break; }
+ UnitRemove(autoC743DDFA_var);
}
- UnitGroupLoopEnd();
UnitRemove(lp_shipUnit);
return true;
}
@@ -1014,6 +1028,7 @@ void gf_S3LandHerculesVertically (unit lp_shipUnit) {
bool auto_gf_S3LandHerculesVertically_TriggerFunc (bool testConds, bool runActions) {
unit lp_shipUnit = auto_gf_S3LandHerculesVertically_lp_shipUnit;
+ // Automatic Variable Declarations
// Implementation
libNtve_gf_PauseUnit(lp_shipUnit, true);
UnitSetHeight(lp_shipUnit, 10.0, 0.0);
@@ -1045,6 +1060,7 @@ bool auto_gf_S3LiftOffHerculesLaunchForward_TriggerFunc (bool testConds, bool ru
unit lp_shipUnit = auto_gf_S3LiftOffHerculesLaunchForward_lp_shipUnit;
fixed lp_launchAngle = auto_gf_S3LiftOffHerculesLaunchForward_lp_launchAngle;
+ // Automatic Variable Declarations
// Implementation
UnitIssueOrder(lp_shipUnit, Order(AbilityCommand("HerculesLiftOff", 0)), c_orderQueueReplace);
Wait(6.0, c_timeGame);
@@ -1086,12 +1102,13 @@ bool auto_gf_S3OverseerPatrol2Points_TriggerFunc (bool testConds, bool runAction
point lp_point2 = auto_gf_S3OverseerPatrol2Points_lp_point2;
fixed lp_waitTimeAtPoint = auto_gf_S3OverseerPatrol2Points_lp_waitTimeAtPoint;
- point auto06B6615B_val;
-
// Variable Declarations
point lv_targetPoint;
timer lv_waitTimer;
+ // Automatic Variable Declarations
+ point auto06B6615B_val;
+
// Variable Initialization
lv_waitTimer = TimerCreate();
@@ -1149,19 +1166,19 @@ bool auto_gf_S3UnloadUnitsFromNydusWorm_TriggerFunc (bool testConds, bool runAct
point lp_rallyPoint = auto_gf_S3UnloadUnitsFromNydusWorm_lp_rallyPoint;
int lp_player = auto_gf_S3UnloadUnitsFromNydusWorm_lp_player;
- int autoABEDA275_ae;
- int autoABEDA275_ai;
-
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ int autoABEDA275_ae;
+ const int autoABEDA275_ai = 1;
+
// Variable Initialization
// Implementation
autoABEDA275_ae = lp_count;
- autoABEDA275_ai = 1;
lv_i = 1;
- for ( ; ( (autoABEDA275_ai >= 0 && lv_i <= autoABEDA275_ae) || (autoABEDA275_ai <= 0 && lv_i >= autoABEDA275_ae) ) ; lv_i += autoABEDA275_ai ) {
+ for ( ; ( (autoABEDA275_ai >= 0 && lv_i <= autoABEDA275_ae) || (autoABEDA275_ai < 0 && lv_i >= autoABEDA275_ae) ) ; lv_i += autoABEDA275_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true) && (libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (((lp_unitType == "Zergling") && (UnitGroupCount(UnitGroupFilter("Zergling", gv_pLAYER_08_FERALZERG_INSIDE, gv_s3_FinalRoomZerg, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) <= 40)) || ((lp_unitType == "Roach") && (UnitGroupCount(UnitGroupFilter("Roach", gv_pLAYER_08_FERALZERG_INSIDE, gv_s3_FinalRoomZerg, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) <= 4)) || ((lp_unitType == "Hydralisk") && (UnitGroupCount(UnitGroupFilter("Hydralisk", gv_pLAYER_08_FERALZERG_INSIDE, gv_s3_FinalRoomZerg, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) <= 4)))) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -1198,12 +1215,13 @@ bool auto_gf_S1TrackWaveSpawnBullyUnit_TriggerFunc (bool testConds, bool runActi
region lp_bullyRespawnRegion = auto_gf_S1TrackWaveSpawnBullyUnit_lp_bullyRespawnRegion;
int lp_bullyPlayer = auto_gf_S1TrackWaveSpawnBullyUnit_lp_bullyPlayer;
- string auto4050175D_val;
-
// Variable Declarations
string lv_bullyUnitType;
unit lv_bullyUnit;
+ // Automatic Variable Declarations
+ string auto4050175D_val;
+
// Variable Initialization
// Implementation
@@ -1248,6 +1266,7 @@ bool auto_gf_S1MoveOverseerToMapEdgeAndDespawn_TriggerFunc (bool testConds, bool
unit lp_overseerUnit = auto_gf_S1MoveOverseerToMapEdgeAndDespawn_lp_overseerUnit;
point lp_targetPoint = auto_gf_S1MoveOverseerToMapEdgeAndDespawn_lp_targetPoint;
+ // Automatic Variable Declarations
// Implementation
AIRemoveUnitFromAnyWaves(lp_overseerUnit);
while ((libNCMI_gf_GameIsOver() == false) && (gv_currentStage == 1) && (UnitIsAlive(lp_overseerUnit) == true)) {
@@ -1263,15 +1282,22 @@ bool auto_gf_S1MoveOverseerToMapEdgeAndDespawn_TriggerFunc (bool testConds, bool
}
void gf_S1SpawnStreamingWaveUnit (int lp_count, string lp_unitType, int lp_player, point lp_spawnPoint, fixed lp_delay) {
+ // Automatic Variable Declarations
+ unitgroup auto29232900_g;
+ int auto29232900_u;
+ unit auto29232900_var;
+
// Implementation
if ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (gv_currentStage == 1) && (lp_count > 0)) {
libNtve_gf_CreateUnitsAtPoint2(lp_count, lp_unitType, 0, lp_player, lp_spawnPoint);
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), false);
- libNtve_gf_AICast(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), PointFromId(1750)));
+ auto29232900_g = UnitLastCreatedGroup();
+ auto29232900_u = UnitGroupCount(auto29232900_g, c_unitCountAll);
+ for (;; auto29232900_u -= 1) {
+ auto29232900_var = UnitGroupUnitFromEnd(auto29232900_g, auto29232900_u);
+ if (auto29232900_var == null) { break; }
+ AISetUnitScriptControlled(auto29232900_var, false);
+ libNtve_gf_AICast(auto29232900_var, OrderTargetingPoint(AbilityCommand("attack", 0), PointFromId(1750)));
}
- UnitGroupLoopEnd();
AISetGroupSuicide(UnitLastCreatedGroup(), true);
Wait(lp_delay, c_timeAI);
}
@@ -1297,6 +1323,7 @@ bool auto_gf_BriefingMoveAndDespawnGarrisonUnit_TriggerFunc (bool testConds, boo
unit lp_garrisonUnit = auto_gf_BriefingMoveAndDespawnGarrisonUnit_lp_garrisonUnit;
int lp_garrisonPointIndex = auto_gf_BriefingMoveAndDespawnGarrisonUnit_lp_garrisonPointIndex;
+ // Automatic Variable Declarations
// Implementation
while ((DistanceBetweenPoints(UnitGetPosition(lp_garrisonUnit), PointFromId(414)) >= 1)) {
UnitIssueOrder(lp_garrisonUnit, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(414)), c_orderQueueReplace);
@@ -1315,6 +1342,7 @@ bool auto_gf_BriefingMoveAndDespawnGarrisonUnit_TriggerFunc (bool testConds, boo
// Trigger: Initialization
//--------------------------------------------------------------------------------------------------
bool gt_Initialization_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1349,6 +1377,7 @@ void gt_Initialization_Init () {
// Trigger: Init 01 Technology
//--------------------------------------------------------------------------------------------------
bool gt_Init01Technology_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1372,6 +1401,12 @@ void gt_Init01Technology_Init () {
// Trigger: Init 02 Players
//--------------------------------------------------------------------------------------------------
bool gt_Init02Players_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoCF66B155_g;
+ int autoCF66B155_var;
+ playergroup auto98BD7D2B_g;
+ int auto98BD7D2B_var;
+
// Actions
if (!runActions) {
return true;
@@ -1399,28 +1434,32 @@ bool gt_Init02Players_Func (bool testConds, bool runActions) {
PlayerGroupAdd(gv_enemyZergPlayersStage01, gv_pLAYER_09_FERALZERG_MIDDLEWAVES);
PlayerGroupAdd(gv_enemyZergPlayersStage01, gv_pLAYER_10_FERALZERG_RIGHTWAVES);
PlayerGroupAdd(gv_enemyZergPlayersStage01, gv_pLAYER_11_FERALZERG_LEFTWAVES);
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_04_FERALZERG_RIGHTBULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_05_FERALZERG_LEFTBULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_06_DEFENDERSOFMAN, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_07_STRANDEDTERRANS, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_08_FERALZERG_INSIDE, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_09_FERALZERG_MIDDLEWAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_10_FERALZERG_RIGHTWAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_11_FERALZERG_LEFTWAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- }
- PlayerGroupLoopEnd();
+ autoCF66B155_g = gv_enemyZergPlayersStage01;
+ autoCF66B155_var = -1;
+ while (true) {
+ autoCF66B155_var = PlayerGroupNextPlayer(autoCF66B155_g, autoCF66B155_var);
+ if (autoCF66B155_var < 0) { break; }
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_04_FERALZERG_RIGHTBULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_05_FERALZERG_LEFTBULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_06_DEFENDERSOFMAN, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_07_STRANDEDTERRANS, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_08_FERALZERG_INSIDE, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_09_FERALZERG_MIDDLEWAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_10_FERALZERG_RIGHTWAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoCF66B155_var, gv_pLAYER_11_FERALZERG_LEFTWAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ }
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropMinerals, c_playerPropOperSetTo, 350);
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropVespene, c_playerPropOperSetTo, 150);
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateMineralCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateVespeneCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateFoodIgnored, true);
+ auto98BD7D2B_g = gv_enemyZergPlayersStage01;
+ auto98BD7D2B_var = -1;
+ while (true) {
+ auto98BD7D2B_var = PlayerGroupNextPlayer(auto98BD7D2B_g, auto98BD7D2B_var);
+ if (auto98BD7D2B_var < 0) { break; }
+ PlayerSetState(auto98BD7D2B_var, c_playerStateMineralCostIgnored, true);
+ PlayerSetState(auto98BD7D2B_var, c_playerStateVespeneCostIgnored, true);
+ PlayerSetState(auto98BD7D2B_var, c_playerStateFoodIgnored, true);
}
- PlayerGroupLoopEnd();
PlayerSetState(gv_pLAYER_06_DEFENDERSOFMAN, c_playerStateMineralCostIgnored, true);
PlayerSetState(gv_pLAYER_06_DEFENDERSOFMAN, c_playerStateVespeneCostIgnored, true);
PlayerSetState(gv_pLAYER_06_DEFENDERSOFMAN, c_playerStateFoodIgnored, true);
@@ -1446,6 +1485,77 @@ void gt_Init02Players_Init () {
// Trigger: Init 03 Units
//--------------------------------------------------------------------------------------------------
bool gt_Init03Units_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto75A0AC31_g;
+ int auto75A0AC31_u;
+ unit auto75A0AC31_var;
+ unitgroup autoD5FB1F9A_g;
+ int autoD5FB1F9A_u;
+ unit autoD5FB1F9A_var;
+ unitgroup auto28B703DC_g;
+ int auto28B703DC_u;
+ unit auto28B703DC_var;
+ unitgroup auto2C238B6D_g;
+ int auto2C238B6D_u;
+ unit auto2C238B6D_var;
+ unitgroup autoAFDA162A_g;
+ int autoAFDA162A_u;
+ unit autoAFDA162A_var;
+ unitgroup auto487C8434_g;
+ int auto487C8434_u;
+ unit auto487C8434_var;
+ unitgroup auto78DC36D4_g;
+ int auto78DC36D4_u;
+ unit auto78DC36D4_var;
+ unitgroup autoC8FEACD8_g;
+ int autoC8FEACD8_u;
+ unit autoC8FEACD8_var;
+ unitgroup autoD2868CCE_g;
+ int autoD2868CCE_u;
+ unit autoD2868CCE_var;
+ unitgroup auto9A616086_g;
+ int auto9A616086_u;
+ unit auto9A616086_var;
+ unitgroup autoEFF54731_g;
+ int autoEFF54731_u;
+ unit autoEFF54731_var;
+ unitgroup auto986F5C68_g;
+ int auto986F5C68_u;
+ unit auto986F5C68_var;
+ unitgroup auto7AF3C5B0_g;
+ int auto7AF3C5B0_u;
+ unit auto7AF3C5B0_var;
+ unitgroup autoA65A4E32_g;
+ int autoA65A4E32_u;
+ unit autoA65A4E32_var;
+ unitgroup autoAE2B8693_g;
+ int autoAE2B8693_u;
+ unit autoAE2B8693_var;
+ unitgroup auto22749583_g;
+ int auto22749583_u;
+ unit auto22749583_var;
+ unitgroup auto79318EFA_g;
+ int auto79318EFA_u;
+ unit auto79318EFA_var;
+ unitgroup autoD93DC7E5_g;
+ int autoD93DC7E5_u;
+ unit autoD93DC7E5_var;
+ unitgroup auto9D244479_g;
+ int auto9D244479_u;
+ unit auto9D244479_var;
+ unitgroup auto43592CFB_g;
+ int auto43592CFB_u;
+ unit auto43592CFB_var;
+ unitgroup autoAFACDEAB_g;
+ int autoAFACDEAB_u;
+ unit autoAFACDEAB_var;
+ unitgroup auto00D01CD1_g;
+ int auto00D01CD1_u;
+ unit auto00D01CD1_var;
+ unitgroup auto01287CB8_g;
+ int auto01287CB8_u;
+ unit auto01287CB8_var;
+
// Actions
if (!runActions) {
return true;
@@ -1456,179 +1566,225 @@ bool gt_Init03Units_Func (bool testConds, bool runActions) {
libNCMI_gf_StealthAIAddUnitToStealthAIEnemyUnitGroup(gv_zeratul);
TriggerExecute(gt_S1GarrisonSpotsInit, true, false);
libNCMI_gf_SetAllWorkerRallyPointsForPlayer(gv_pLAYER_01_USER);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBarracks") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedFactory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedMissileTurret") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedSupply"))) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "ColonyInfestation", UnitGroupLoopCurrent(), 1);
+ auto75A0AC31_g = UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto75A0AC31_u = UnitGroupCount(auto75A0AC31_g, c_unitCountAll);
+ for (;; auto75A0AC31_u -= 1) {
+ auto75A0AC31_var = UnitGroupUnitFromEnd(auto75A0AC31_g, auto75A0AC31_u);
+ if (auto75A0AC31_var == null) { break; }
+ if (((UnitGetType(auto75A0AC31_var) == "InfestedBunker") || (UnitGetType(auto75A0AC31_var) == "InfestedBarracks") || (UnitGetType(auto75A0AC31_var) == "InfestedFactory") || (UnitGetType(auto75A0AC31_var) == "InfestedMissileTurret") || (UnitGetType(auto75A0AC31_var) == "InfestedSupply"))) {
+ UnitBehaviorAdd(auto75A0AC31_var, "ColonyInfestation", auto75A0AC31_var, 1);
}
- if ((UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker")) {
- UnitCargoCreate(UnitGroupLoopCurrent(), "InfestedTerranCampaign", 4);
+ if ((UnitGetType(auto75A0AC31_var) == "InfestedBunker")) {
+ UnitCargoCreate(auto75A0AC31_var, "InfestedTerranCampaign", 4);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_04_FERALZERG_RIGHTBULLIES, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBarracks") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedFactory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedMissileTurret") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedSupply"))) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "ColonyInfestation", UnitGroupLoopCurrent(), 1);
+ autoD5FB1F9A_g = UnitGroup(null, gv_pLAYER_04_FERALZERG_RIGHTBULLIES, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD5FB1F9A_u = UnitGroupCount(autoD5FB1F9A_g, c_unitCountAll);
+ for (;; autoD5FB1F9A_u -= 1) {
+ autoD5FB1F9A_var = UnitGroupUnitFromEnd(autoD5FB1F9A_g, autoD5FB1F9A_u);
+ if (autoD5FB1F9A_var == null) { break; }
+ if (((UnitGetType(autoD5FB1F9A_var) == "InfestedBunker") || (UnitGetType(autoD5FB1F9A_var) == "InfestedBarracks") || (UnitGetType(autoD5FB1F9A_var) == "InfestedFactory") || (UnitGetType(autoD5FB1F9A_var) == "InfestedMissileTurret") || (UnitGetType(autoD5FB1F9A_var) == "InfestedSupply"))) {
+ UnitBehaviorAdd(autoD5FB1F9A_var, "ColonyInfestation", autoD5FB1F9A_var, 1);
}
- if ((UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker")) {
- UnitCargoCreate(UnitGroupLoopCurrent(), "InfestedTerranCampaign", 4);
+ if ((UnitGetType(autoD5FB1F9A_var) == "InfestedBunker")) {
+ UnitCargoCreate(autoD5FB1F9A_var, "InfestedTerranCampaign", 4);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_05_FERALZERG_LEFTBULLIES, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBarracks") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedFactory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedMissileTurret") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedSupply"))) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "ColonyInfestation", UnitGroupLoopCurrent(), 1);
+ auto28B703DC_g = UnitGroup(null, gv_pLAYER_05_FERALZERG_LEFTBULLIES, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto28B703DC_u = UnitGroupCount(auto28B703DC_g, c_unitCountAll);
+ for (;; auto28B703DC_u -= 1) {
+ auto28B703DC_var = UnitGroupUnitFromEnd(auto28B703DC_g, auto28B703DC_u);
+ if (auto28B703DC_var == null) { break; }
+ if (((UnitGetType(auto28B703DC_var) == "InfestedBunker") || (UnitGetType(auto28B703DC_var) == "InfestedBarracks") || (UnitGetType(auto28B703DC_var) == "InfestedFactory") || (UnitGetType(auto28B703DC_var) == "InfestedMissileTurret") || (UnitGetType(auto28B703DC_var) == "InfestedSupply"))) {
+ UnitBehaviorAdd(auto28B703DC_var, "ColonyInfestation", auto28B703DC_var, 1);
}
- if ((UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker")) {
- UnitCargoCreate(UnitGroupLoopCurrent(), "InfestedTerranCampaign", 4);
+ if ((UnitGetType(auto28B703DC_var) == "InfestedBunker")) {
+ UnitCargoCreate(auto28B703DC_var, "InfestedTerranCampaign", 4);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("InfestationSpire", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "Harmless", UnitGroupLoopCurrent(), 1);
+ auto2C238B6D_g = UnitGroup("InfestationSpire", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto2C238B6D_u = UnitGroupCount(auto2C238B6D_g, c_unitCountAll);
+ for (;; auto2C238B6D_u -= 1) {
+ auto2C238B6D_var = UnitGroupUnitFromEnd(auto2C238B6D_g, auto2C238B6D_u);
+ if (auto2C238B6D_var == null) { break; }
+ UnitBehaviorAdd(auto2C238B6D_var, "Harmless", auto2C238B6D_var, 1);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("InfestedCocoon", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "Harmless", UnitGroupLoopCurrent(), 1);
+ autoAFDA162A_g = UnitGroup("InfestedCocoon", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoAFDA162A_u = UnitGroupCount(autoAFDA162A_g, c_unitCountAll);
+ for (;; autoAFDA162A_u -= 1) {
+ autoAFDA162A_var = UnitGroupUnitFromEnd(autoAFDA162A_g, autoAFDA162A_u);
+ if (autoAFDA162A_var == null) { break; }
+ UnitBehaviorAdd(autoAFDA162A_var, "Harmless", autoAFDA162A_var, 1);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("CreepPodsUnit", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "Harmless", UnitGroupLoopCurrent(), 1);
+ auto487C8434_g = UnitGroup("CreepPodsUnit", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto487C8434_u = UnitGroupCount(auto487C8434_g, c_unitCountAll);
+ for (;; auto487C8434_u -= 1) {
+ auto487C8434_var = UnitGroupUnitFromEnd(auto487C8434_g, auto487C8434_u);
+ if (auto487C8434_var == null) { break; }
+ UnitBehaviorAdd(auto487C8434_var, "Harmless", auto487C8434_var, 1);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Overseer", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
+ auto78DC36D4_g = UnitGroup("Overseer", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto78DC36D4_u = UnitGroupCount(auto78DC36D4_g, c_unitCountAll);
+ for (;; auto78DC36D4_u -= 1) {
+ auto78DC36D4_var = UnitGroupUnitFromEnd(auto78DC36D4_g, auto78DC36D4_u);
+ if (auto78DC36D4_var == null) { break; }
+ AISetUnitScriptControlled(auto78DC36D4_var, true);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Raven", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
+ autoC8FEACD8_g = UnitGroup("Raven", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC8FEACD8_u = UnitGroupCount(autoC8FEACD8_g, c_unitCountAll);
+ for (;; autoC8FEACD8_u -= 1) {
+ autoC8FEACD8_var = UnitGroupUnitFromEnd(autoC8FEACD8_g, autoC8FEACD8_u);
+ if (autoC8FEACD8_var == null) { break; }
+ AISetUnitScriptControlled(autoC8FEACD8_var, true);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("MannedTurret", gv_pLAYER_02_NOVASUPPORT, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateInvulnerable, true);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateHighlightable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTargetable, false);
- UnitSetOwner(UnitGroupLoopCurrent(), 0, true);
+ autoD2868CCE_g = UnitGroup("MannedTurret", gv_pLAYER_02_NOVASUPPORT, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD2868CCE_u = UnitGroupCount(autoD2868CCE_g, c_unitCountAll);
+ for (;; autoD2868CCE_u -= 1) {
+ autoD2868CCE_var = UnitGroupUnitFromEnd(autoD2868CCE_g, autoD2868CCE_u);
+ if (autoD2868CCE_var == null) { break; }
+ UnitSetState(autoD2868CCE_var, c_unitStateInvulnerable, true);
+ UnitSetState(autoD2868CCE_var, c_unitStateHighlightable, false);
+ UnitSetState(autoD2868CCE_var, c_unitStateTargetable, false);
+ UnitSetOwner(autoD2868CCE_var, 0, true);
}
- UnitGroupLoopEnd();
UnitSetOwner(UnitFromId(12), gv_pLAYER_02_NOVASUPPORT, true);
UnitSetState(UnitFromId(12), c_unitStateInvulnerable, true);
UnitBehaviorAdd(UnitFromId(528), "GarrisonMarauder", UnitFromId(528), 1);
UnitBehaviorAdd(UnitFromId(529), "GarrisonMarauder", UnitFromId(529), 1);
UnitBehaviorAdd(UnitFromId(530), "GarrisonMarauder", UnitFromId(530), 1);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto9A616086_g = UnitGroup(null, gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto9A616086_u = UnitGroupCount(auto9A616086_g, c_unitCountAll);
+ for (;; auto9A616086_u -= 1) {
+ auto9A616086_var = UnitGroupUnitFromEnd(auto9A616086_g, auto9A616086_u);
+ if (auto9A616086_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto9A616086_var, false);
+ libNtve_gf_PauseUnit(auto9A616086_var, true);
}
- UnitGroupLoopEnd();
TriggerExecute(gt_Init03bDefenderStealthAIUnits, true, true);
- UnitGroupLoopBegin(UnitGroup("DOMHealthDispenser", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_MakeUnitInvulnerable(UnitGroupLoopCurrent(), true);
+ autoEFF54731_g = UnitGroup("DOMHealthDispenser", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoEFF54731_u = UnitGroupCount(autoEFF54731_g, c_unitCountAll);
+ for (;; autoEFF54731_u -= 1) {
+ autoEFF54731_var = UnitGroupUnitFromEnd(autoEFF54731_g, autoEFF54731_u);
+ if (autoEFF54731_var == null) { break; }
+ libNtve_gf_MakeUnitInvulnerable(autoEFF54731_var, true);
}
- UnitGroupLoopEnd();
UnitBehaviorAdd(UnitFromId(957), "Harmless", UnitFromId(957), 1);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropMovementSpeed, 0.0);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Overlord", gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(49), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_MakeUnitInvulnerable(UnitGroupLoopCurrent(), true);
- UnitSetHeight(UnitGroupLoopCurrent(), 1.0, 0.0);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Overlord", gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(51), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetHeight(UnitGroupLoopCurrent(), 2.5, 0.0);
- libNtve_gf_MakeUnitInvulnerable(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
+ auto986F5C68_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto986F5C68_u = UnitGroupCount(auto986F5C68_g, c_unitCountAll);
+ for (;; auto986F5C68_u -= 1) {
+ auto986F5C68_var = UnitGroupUnitFromEnd(auto986F5C68_g, auto986F5C68_u);
+ if (auto986F5C68_var == null) { break; }
+ libNtve_gf_ChangeUnitDamage(auto986F5C68_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ UnitSetPropertyFixed(auto986F5C68_var, c_unitPropMovementSpeed, 0.0);
+ }
+ auto7AF3C5B0_g = UnitGroup("Overlord", gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(49), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto7AF3C5B0_u = UnitGroupCount(auto7AF3C5B0_g, c_unitCountAll);
+ for (;; auto7AF3C5B0_u -= 1) {
+ auto7AF3C5B0_var = UnitGroupUnitFromEnd(auto7AF3C5B0_g, auto7AF3C5B0_u);
+ if (auto7AF3C5B0_var == null) { break; }
+ libNtve_gf_MakeUnitInvulnerable(auto7AF3C5B0_var, true);
+ UnitSetHeight(auto7AF3C5B0_var, 1.0, 0.0);
+ }
+ autoA65A4E32_g = UnitGroup("Overlord", gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(51), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA65A4E32_u = UnitGroupCount(autoA65A4E32_g, c_unitCountAll);
+ for (;; autoA65A4E32_u -= 1) {
+ autoA65A4E32_var = UnitGroupUnitFromEnd(autoA65A4E32_g, autoA65A4E32_u);
+ if (autoA65A4E32_var == null) { break; }
+ UnitSetHeight(autoA65A4E32_var, 2.5, 0.0);
+ libNtve_gf_MakeUnitInvulnerable(autoA65A4E32_var, true);
+ }
libNtve_gf_MakeUnitInvulnerable(UnitFromId(3883), true);
UnitSetState(UnitFromId(3883), c_unitStateTargetable, false);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(59), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_AtriumTerrans, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(61), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_AtriumTerrans, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(76), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_AtriumTerrans, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(112), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_AtriumTerrans, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(97), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_FinalRoomTerrans, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(44), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_FinalRoomTerrans, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(44), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_FinalRoomZerg, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(97), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_s3_FinalRoomZerg, UnitGroupLoopCurrent());
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_14_CINEMATICUNITS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
+ autoAE2B8693_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(59), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoAE2B8693_u = UnitGroupCount(autoAE2B8693_g, c_unitCountAll);
+ for (;; autoAE2B8693_u -= 1) {
+ autoAE2B8693_var = UnitGroupUnitFromEnd(autoAE2B8693_g, autoAE2B8693_u);
+ if (autoAE2B8693_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoAE2B8693_var, false);
+ libNtve_gf_PauseUnit(autoAE2B8693_var, true);
+ UnitGroupAdd(gv_s3_AtriumTerrans, autoAE2B8693_var);
+ libNtve_gf_ChangeUnitDamage(autoAE2B8693_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ auto22749583_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(61), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto22749583_u = UnitGroupCount(auto22749583_g, c_unitCountAll);
+ for (;; auto22749583_u -= 1) {
+ auto22749583_var = UnitGroupUnitFromEnd(auto22749583_g, auto22749583_u);
+ if (auto22749583_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto22749583_var, false);
+ libNtve_gf_PauseUnit(auto22749583_var, true);
+ UnitGroupAdd(gv_s3_AtriumTerrans, auto22749583_var);
+ libNtve_gf_ChangeUnitDamage(auto22749583_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ auto79318EFA_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(76), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto79318EFA_u = UnitGroupCount(auto79318EFA_g, c_unitCountAll);
+ for (;; auto79318EFA_u -= 1) {
+ auto79318EFA_var = UnitGroupUnitFromEnd(auto79318EFA_g, auto79318EFA_u);
+ if (auto79318EFA_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto79318EFA_var, false);
+ libNtve_gf_PauseUnit(auto79318EFA_var, true);
+ UnitGroupAdd(gv_s3_AtriumTerrans, auto79318EFA_var);
+ libNtve_gf_ChangeUnitDamage(auto79318EFA_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ autoD93DC7E5_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(112), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD93DC7E5_u = UnitGroupCount(autoD93DC7E5_g, c_unitCountAll);
+ for (;; autoD93DC7E5_u -= 1) {
+ autoD93DC7E5_var = UnitGroupUnitFromEnd(autoD93DC7E5_g, autoD93DC7E5_u);
+ if (autoD93DC7E5_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoD93DC7E5_var, false);
+ libNtve_gf_PauseUnit(autoD93DC7E5_var, true);
+ UnitGroupAdd(gv_s3_AtriumTerrans, autoD93DC7E5_var);
+ libNtve_gf_ChangeUnitDamage(autoD93DC7E5_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ auto9D244479_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(97), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto9D244479_u = UnitGroupCount(auto9D244479_g, c_unitCountAll);
+ for (;; auto9D244479_u -= 1) {
+ auto9D244479_var = UnitGroupUnitFromEnd(auto9D244479_g, auto9D244479_u);
+ if (auto9D244479_var == null) { break; }
+ libNtve_gf_PauseUnit(auto9D244479_var, true);
+ UnitGroupAdd(gv_s3_FinalRoomTerrans, auto9D244479_var);
+ libNtve_gf_ChangeUnitDamage(auto9D244479_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ auto43592CFB_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(44), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto43592CFB_u = UnitGroupCount(auto43592CFB_g, c_unitCountAll);
+ for (;; auto43592CFB_u -= 1) {
+ auto43592CFB_var = UnitGroupUnitFromEnd(auto43592CFB_g, auto43592CFB_u);
+ if (auto43592CFB_var == null) { break; }
+ libNtve_gf_PauseUnit(auto43592CFB_var, true);
+ UnitGroupAdd(gv_s3_FinalRoomTerrans, auto43592CFB_var);
+ libNtve_gf_ChangeUnitDamage(auto43592CFB_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ autoAFACDEAB_g = UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(44), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoAFACDEAB_u = UnitGroupCount(autoAFACDEAB_g, c_unitCountAll);
+ for (;; autoAFACDEAB_u -= 1) {
+ autoAFACDEAB_var = UnitGroupUnitFromEnd(autoAFACDEAB_g, autoAFACDEAB_u);
+ if (autoAFACDEAB_var == null) { break; }
+ libNtve_gf_PauseUnit(autoAFACDEAB_var, true);
+ UnitGroupAdd(gv_s3_FinalRoomZerg, autoAFACDEAB_var);
+ libNtve_gf_ChangeUnitDamage(autoAFACDEAB_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ auto00D01CD1_g = UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(97), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto00D01CD1_u = UnitGroupCount(auto00D01CD1_g, c_unitCountAll);
+ for (;; auto00D01CD1_u -= 1) {
+ auto00D01CD1_var = UnitGroupUnitFromEnd(auto00D01CD1_g, auto00D01CD1_u);
+ if (auto00D01CD1_var == null) { break; }
+ libNtve_gf_PauseUnit(auto00D01CD1_var, true);
+ UnitGroupAdd(gv_s3_FinalRoomZerg, auto00D01CD1_var);
+ libNtve_gf_ChangeUnitDamage(auto00D01CD1_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ }
+ auto01287CB8_g = UnitGroup(null, gv_pLAYER_14_CINEMATICUNITS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto01287CB8_u = UnitGroupCount(auto01287CB8_g, c_unitCountAll);
+ for (;; auto01287CB8_u -= 1) {
+ auto01287CB8_var = UnitGroupUnitFromEnd(auto01287CB8_g, auto01287CB8_u);
+ if (auto01287CB8_var == null) { break; }
+ libNtve_gf_PauseUnit(auto01287CB8_var, true);
+ libNtve_gf_ShowHideUnit(auto01287CB8_var, false);
+ }
return true;
}
@@ -1641,74 +1797,126 @@ void gt_Init03Units_Init () {
// Trigger: Init 03b Defender Stealth AI Units
//--------------------------------------------------------------------------------------------------
bool gt_Init03bDefenderStealthAIUnits_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoF998C77A_g;
+ int autoF998C77A_u;
+ unit autoF998C77A_var;
+ unitgroup auto72701183_g;
+ int auto72701183_u;
+ unit auto72701183_var;
+ unitgroup autoEC8B6504_g;
+ int autoEC8B6504_u;
+ unit autoEC8B6504_var;
+ unitgroup autoC2D6B434_g;
+ int autoC2D6B434_u;
+ unit autoC2D6B434_var;
+ unitgroup autoCA4B714E_g;
+ int autoCA4B714E_u;
+ unit autoCA4B714E_var;
+ unitgroup autoD08C0444_g;
+ int autoD08C0444_u;
+ unit autoD08C0444_var;
+ unitgroup auto392F3165_g;
+ int auto392F3165_u;
+ unit auto392F3165_var;
+ unitgroup autoFCCC5EC6_g;
+ int autoFCCC5EC6_u;
+ unit autoFCCC5EC6_var;
+ unitgroup auto6DEAE4A7_g;
+ int auto6DEAE4A7_u;
+ unit auto6DEAE4A7_var;
+ unitgroup autoA5EE0958_g;
+ int autoA5EE0958_u;
+ unit autoA5EE0958_var;
+
// Actions
if (!runActions) {
return true;
}
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(21), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(21), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(21), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoF998C77A_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(21), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoF998C77A_u = UnitGroupCount(autoF998C77A_g, c_unitCountAll);
+ for (;; autoF998C77A_u -= 1) {
+ autoF998C77A_var = UnitGroupUnitFromEnd(autoF998C77A_g, autoF998C77A_u);
+ if (autoF998C77A_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(21), autoF998C77A_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoF998C77A_var), UnitGetFacing(autoF998C77A_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(109), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(109), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(109), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ auto72701183_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(109), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto72701183_u = UnitGroupCount(auto72701183_g, c_unitCountAll);
+ for (;; auto72701183_u -= 1) {
+ auto72701183_var = UnitGroupUnitFromEnd(auto72701183_g, auto72701183_u);
+ if (auto72701183_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(109), auto72701183_var, libNtve_gf_PointFacingAngle(UnitGetPosition(auto72701183_var), UnitGetFacing(auto72701183_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(67), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(67), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(67), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoEC8B6504_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(67), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoEC8B6504_u = UnitGroupCount(autoEC8B6504_g, c_unitCountAll);
+ for (;; autoEC8B6504_u -= 1) {
+ autoEC8B6504_var = UnitGroupUnitFromEnd(autoEC8B6504_g, autoEC8B6504_u);
+ if (autoEC8B6504_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(67), autoEC8B6504_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoEC8B6504_var), UnitGetFacing(autoEC8B6504_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(31), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(31), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(31), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoC2D6B434_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(31), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC2D6B434_u = UnitGroupCount(autoC2D6B434_g, c_unitCountAll);
+ for (;; autoC2D6B434_u -= 1) {
+ autoC2D6B434_var = UnitGroupUnitFromEnd(autoC2D6B434_g, autoC2D6B434_u);
+ if (autoC2D6B434_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(31), autoC2D6B434_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoC2D6B434_var), UnitGetFacing(autoC2D6B434_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(32), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(32), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoCA4B714E_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoCA4B714E_u = UnitGroupCount(autoCA4B714E_g, c_unitCountAll);
+ for (;; autoCA4B714E_u -= 1) {
+ autoCA4B714E_var = UnitGroupUnitFromEnd(autoCA4B714E_g, autoCA4B714E_u);
+ if (autoCA4B714E_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(32), autoCA4B714E_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoCA4B714E_var), UnitGetFacing(autoCA4B714E_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(100), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(100), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoD08C0444_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(100), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD08C0444_u = UnitGroupCount(autoD08C0444_g, c_unitCountAll);
+ for (;; autoD08C0444_u -= 1) {
+ autoD08C0444_var = UnitGroupUnitFromEnd(autoD08C0444_g, autoD08C0444_u);
+ if (autoD08C0444_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), autoD08C0444_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoD08C0444_var), UnitGetFacing(autoD08C0444_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(101), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(101), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "GhostDetectorCone") || (UnitGetType(UnitGroupLoopCurrent()) == "GhostAlternateDetectorCone"))) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(101), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ auto392F3165_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(101), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto392F3165_u = UnitGroupCount(auto392F3165_g, c_unitCountAll);
+ for (;; auto392F3165_u -= 1) {
+ auto392F3165_var = UnitGroupUnitFromEnd(auto392F3165_g, auto392F3165_u);
+ if (auto392F3165_var == null) { break; }
+ if (((UnitGetType(auto392F3165_var) == "GhostDetectorCone") || (UnitGetType(auto392F3165_var) == "GhostAlternateDetectorCone"))) {
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(101), auto392F3165_var, libNtve_gf_PointFacingAngle(UnitGetPosition(auto392F3165_var), UnitGetFacing(auto392F3165_var)));
}
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(102), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(112), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(102), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoFCCC5EC6_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(112), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoFCCC5EC6_u = UnitGroupCount(autoFCCC5EC6_g, c_unitCountAll);
+ for (;; autoFCCC5EC6_u -= 1) {
+ autoFCCC5EC6_var = UnitGroupUnitFromEnd(autoFCCC5EC6_g, autoFCCC5EC6_u);
+ if (autoFCCC5EC6_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(102), autoFCCC5EC6_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoFCCC5EC6_var), UnitGetFacing(autoFCCC5EC6_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(97), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(114), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(97), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ auto6DEAE4A7_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(114), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto6DEAE4A7_u = UnitGroupCount(auto6DEAE4A7_g, c_unitCountAll);
+ for (;; auto6DEAE4A7_u -= 1) {
+ auto6DEAE4A7_var = UnitGroupUnitFromEnd(auto6DEAE4A7_g, auto6DEAE4A7_u);
+ if (auto6DEAE4A7_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(97), auto6DEAE4A7_var, libNtve_gf_PointFacingAngle(UnitGetPosition(auto6DEAE4A7_var), UnitGetFacing(auto6DEAE4A7_var)));
}
- UnitGroupLoopEnd();
libNCMI_gf_StealthAIInitializeStealthAIDefendRegion(RegionFromId(44), gv_pLAYER_06_DEFENDERSOFMAN);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(115), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(44), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(UnitGetPosition(UnitGroupLoopCurrent()), UnitGetFacing(UnitGroupLoopCurrent())));
+ autoA5EE0958_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(115), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA5EE0958_u = UnitGroupCount(autoA5EE0958_g, c_unitCountAll);
+ for (;; autoA5EE0958_u -= 1) {
+ autoA5EE0958_var = UnitGroupUnitFromEnd(autoA5EE0958_g, autoA5EE0958_u);
+ if (autoA5EE0958_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(44), autoA5EE0958_var, libNtve_gf_PointFacingAngle(UnitGetPosition(autoA5EE0958_var), UnitGetFacing(autoA5EE0958_var)));
}
- UnitGroupLoopEnd();
return true;
}
@@ -1721,6 +1929,7 @@ void gt_Init03bDefenderStealthAIUnits_Init () {
// Trigger: Init 04 Music/Sound
//--------------------------------------------------------------------------------------------------
bool gt_Init04MusicSound_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1740,6 +1949,7 @@ void gt_Init04MusicSound_Init () {
// Trigger: Init 05 Environment
//--------------------------------------------------------------------------------------------------
bool gt_Init05Environment_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1781,6 +1991,12 @@ void gt_Init05Environment_Init () {
// Trigger: Init 06 Difficulties
//--------------------------------------------------------------------------------------------------
bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoFB6313CC_g;
+ int autoFB6313CC_var;
+ playergroup autoCCC78CDA_g;
+ int autoCCC78CDA_var;
+
// Actions
if (!runActions) {
return true;
@@ -1803,11 +2019,13 @@ bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
TechTreeUpgradeAddLevel(gv_pLAYER_10_FERALZERG_RIGHTWAVES, "overlordspeed", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_11_FERALZERG_LEFTWAVES, "overlordspeed", 1);
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeAbilityAllow(PlayerGroupLoopCurrent(), AbilityCommand("FungalGrowth", 0), false);
+ autoFB6313CC_g = gv_enemyZergPlayersStage01;
+ autoFB6313CC_var = -1;
+ while (true) {
+ autoFB6313CC_var = PlayerGroupNextPlayer(autoFB6313CC_g, autoFB6313CC_var);
+ if (autoFB6313CC_var < 0) { break; }
+ TechTreeAbilityAllow(autoFB6313CC_var, AbilityCommand("FungalGrowth", 0), false);
}
- PlayerGroupLoopEnd();
TechTreeAbilityAllow(gv_pLAYER_08_FERALZERG_INSIDE, AbilityCommand("FungalGrowth", 0), false);
}
@@ -1815,11 +2033,13 @@ bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
}
if ((libLotv_gf_DifficultyValueInt2(0, 0, 0, 1) == 1)) {
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "zerglingmovementspeed", 1);
+ autoCCC78CDA_g = gv_enemyZergPlayersStage01;
+ autoCCC78CDA_var = -1;
+ while (true) {
+ autoCCC78CDA_var = PlayerGroupNextPlayer(autoCCC78CDA_g, autoCCC78CDA_var);
+ if (autoCCC78CDA_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoCCC78CDA_var, "zerglingmovementspeed", 1);
}
- PlayerGroupLoopEnd();
TechTreeUpgradeAddLevel(gv_pLAYER_08_FERALZERG_INSIDE, "zerglingmovementspeed", 1);
}
@@ -1835,6 +2055,7 @@ void gt_Init06Difficulties_Init () {
// Trigger: Init 07 Help
//--------------------------------------------------------------------------------------------------
bool gt_Init07Help_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1886,6 +2107,7 @@ void gt_Init07Help_Init () {
// Trigger: Debug - Intro
//--------------------------------------------------------------------------------------------------
bool gt_DebugIntro_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -1921,6 +2143,7 @@ void gt_DebugIntro_Init () {
// Trigger: Debug - Stage 2 - Find Intel
//--------------------------------------------------------------------------------------------------
bool gt_DebugStage2FindIntel_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -1961,6 +2184,14 @@ void gt_DebugStage2FindIntel_Init () {
// Trigger: Debug - Stage 3 - Catch Station Officer
//--------------------------------------------------------------------------------------------------
bool gt_DebugStage3CatchStationOfficer_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto5BFC4F4B_g;
+ int auto5BFC4F4B_u;
+ unit auto5BFC4F4B_var;
+ unitgroup autoCB9F07C3_g;
+ int autoCB9F07C3_u;
+ unit autoCB9F07C3_var;
+
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -1993,20 +2224,24 @@ bool gt_DebugStage3CatchStationOfficer_Func (bool testConds, bool runActions) {
TriggerEnable(gt_DebugStage2FindIntel, false);
gv_currentStage = 2;
SoundtrackPlay(PlayerGroupAll(), c_soundtrackCategoryAmbience, "Ambience_TarsonisCityUnderground_Quad", c_soundtrackCueAny, c_soundtrackIndexAny, true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGroupLoopCurrent() != gv_zeratul)) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto5BFC4F4B_g = UnitGroup(null, c_playerAny, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto5BFC4F4B_u = UnitGroupCount(auto5BFC4F4B_g, c_unitCountAll);
+ for (;; auto5BFC4F4B_u -= 1) {
+ auto5BFC4F4B_var = UnitGroupUnitFromEnd(auto5BFC4F4B_g, auto5BFC4F4B_u);
+ if (auto5BFC4F4B_var == null) { break; }
+ if ((auto5BFC4F4B_var != gv_zeratul)) {
+ UnitRemove(auto5BFC4F4B_var);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_s2_UnitsHiddenDuringS1);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
+ autoCB9F07C3_g = gv_s2_UnitsHiddenDuringS1;
+ autoCB9F07C3_u = UnitGroupCount(autoCB9F07C3_g, c_unitCountAll);
+ for (;; autoCB9F07C3_u -= 1) {
+ autoCB9F07C3_var = UnitGroupUnitFromEnd(autoCB9F07C3_g, autoCB9F07C3_u);
+ if (autoCB9F07C3_var == null) { break; }
+ libNtve_gf_PauseUnit(autoCB9F07C3_var, false);
+ libNtve_gf_ShowHideUnit(autoCB9F07C3_var, true);
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideDoodadsInRegion(true, RegionFromId(13), "ScientistCorpseGory");
libNtve_gf_ShowHideDoodadsInRegion(true, RegionFromId(13), "ColonistCorpse");
libNtve_gf_ShowHideDoodadsInRegion(true, RegionFromId(13), "BloodSplats");
@@ -2042,6 +2277,7 @@ void gt_DebugStage3CatchStationOfficer_Init () {
// Trigger: Nova Picks Up Restoration Charge 2
//--------------------------------------------------------------------------------------------------
bool gt_NovaPicksUpRestorationCharge2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -2099,6 +2335,11 @@ bool gt_NovaKillsDOMUnitInDefendRegion_Func (bool testConds, bool runActions) {
unitgroup lv_nearbyEnemies;
unit lv_speaker;
+ // Automatic Variable Declarations
+ unitgroup autoA435999E_g;
+ int autoA435999E_u;
+ unit autoA435999E_var;
+
// Variable Initialization
lv_triggeringUnitPoint = UnitGetPosition(EventUnit());
lv_nearbyEnemies = UnitGroupEmpty();
@@ -2137,14 +2378,16 @@ bool gt_NovaKillsDOMUnitInDefendRegion_Func (bool testConds, bool runActions) {
lv_triggeringUnitDefendRegion = libNCMI_gf_StealthAIGetDefendRegionOfUnit(EventUnit());
if ((lv_triggeringUnitDefendRegion != null)) {
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionCircle(lv_triggeringUnitPoint, 6.0), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle) && (libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), lv_triggeringUnitDefendRegion) == true) && (UnitGetType(UnitGroupLoopCurrent()) != "GhostDetectorCone") && (UnitGetType(UnitGroupLoopCurrent()) != "GhostAlternateDetectorCone")) {
- UnitGroupAdd(lv_nearbyEnemies, UnitGroupLoopCurrent());
+ autoA435999E_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionCircle(lv_triggeringUnitPoint, 6.0), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA435999E_u = UnitGroupCount(autoA435999E_g, c_unitCountAll);
+ for (;; autoA435999E_u -= 1) {
+ autoA435999E_var = UnitGroupUnitFromEnd(autoA435999E_g, autoA435999E_u);
+ if (autoA435999E_var == null) { break; }
+ if ((libNCMI_gf_StealthAIGetStealthAIUnitState(autoA435999E_var) == libNCMI_ge_StealthAIUnitState_Idle) && (libNtve_gf_UnitInRegion(autoA435999E_var, lv_triggeringUnitDefendRegion) == true) && (UnitGetType(autoA435999E_var) != "GhostDetectorCone") && (UnitGetType(autoA435999E_var) != "GhostAlternateDetectorCone")) {
+ UnitGroupAdd(lv_nearbyEnemies, autoA435999E_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_nearbyEnemies, c_unitCountAlive) > 0)) {
libNCMI_gf_StealthAIMakeUnitGroupReactToPoint(lv_nearbyEnemies, lv_triggeringUnitPoint);
if ((TimerGetRemaining(gv_unitInvestigateTransmissionCooldownTimer) == 0.0)) {
@@ -2174,6 +2417,11 @@ bool gt_NovaFlashbangsUnitInDefendRegion_Func (bool testConds, bool runActions)
unitgroup lv_nearbyEnemies;
unit lv_speaker;
+ // Automatic Variable Declarations
+ unitgroup auto8B399948_g;
+ int auto8B399948_u;
+ unit auto8B399948_var;
+
// Variable Initialization
lv_flashbangImpactPoint = EventPlayerEffectUsedPoint(c_effectLocationTargetPoint);
lv_nearbyEnemies = UnitGroupEmpty();
@@ -2229,14 +2477,16 @@ bool gt_NovaFlashbangsUnitInDefendRegion_Func (bool testConds, bool runActions)
TriggerEnable(TriggerGetCurrent(), true);
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionCircle(lv_flashbangImpactPoint, 12.0), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitHasBehavior2(UnitGroupLoopCurrent(), "FlashBangGrenade") == false) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle) && (libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), lv_flashbangImpactDefendRegion) == true) && (UnitGetType(UnitGroupLoopCurrent()) != "GhostDetectorCone") && (UnitGetType(UnitGroupLoopCurrent()) != "GhostAlternateDetectorCone")) {
- UnitGroupAdd(lv_nearbyEnemies, UnitGroupLoopCurrent());
+ auto8B399948_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionCircle(lv_flashbangImpactPoint, 12.0), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto8B399948_u = UnitGroupCount(auto8B399948_g, c_unitCountAll);
+ for (;; auto8B399948_u -= 1) {
+ auto8B399948_var = UnitGroupUnitFromEnd(auto8B399948_g, auto8B399948_u);
+ if (auto8B399948_var == null) { break; }
+ if ((UnitHasBehavior2(auto8B399948_var, "FlashBangGrenade") == false) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto8B399948_var) == libNCMI_ge_StealthAIUnitState_Idle) && (libNtve_gf_UnitInRegion(auto8B399948_var, lv_flashbangImpactDefendRegion) == true) && (UnitGetType(auto8B399948_var) != "GhostDetectorCone") && (UnitGetType(auto8B399948_var) != "GhostAlternateDetectorCone")) {
+ UnitGroupAdd(lv_nearbyEnemies, auto8B399948_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_nearbyEnemies, c_unitCountAlive) > 0)) {
libNCMI_gf_StealthAIMakeUnitGroupReactToPoint(lv_nearbyEnemies, lv_flashbangImpactPoint);
if ((TimerGetRemaining(gv_unitInvestigateTransmissionCooldownTimer) == 0.0)) {
@@ -2259,14 +2509,15 @@ void gt_NovaFlashbangsUnitInDefendRegion_Init () {
// Trigger: Nova Loses DetectorConeDetected - EMPed Q
//--------------------------------------------------------------------------------------------------
bool gt_NovaLosesDetectorConeDetectedEMPedQ_Func (bool testConds, bool runActions) {
- fixed auto212E6CBB_at;
- int autoADD03158_val;
- int auto22D1ABCC_val;
-
// Variable Declarations
timer lv_talkTimer;
unit lv_detectingUnit;
+ // Automatic Variable Declarations
+ fixed auto212E6CBB_at;
+ int autoADD03158_val;
+ int auto22D1ABCC_val;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
lv_detectingUnit = UnitBehaviorEffectUnit(gv_zeratul, "DetectorConeDetected", c_effectUnitCaster, 0);
@@ -2356,12 +2607,13 @@ void gt_NovaLosesDetectorConeDetectedEMPedQ_Init () {
// Trigger: Nova Loses DetectorConeDetected - Still Cloaked Q
//--------------------------------------------------------------------------------------------------
bool gt_NovaLosesDetectorConeDetectedStillCloakedQ_Func (bool testConds, bool runActions) {
- fixed auto4BF0A57A_at;
-
// Variable Declarations
timer lv_talkTimer;
unit lv_detectingUnit;
+ // Automatic Variable Declarations
+ fixed auto4BF0A57A_at;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
lv_detectingUnit = UnitBehaviorEffectUnit(gv_zeratul, "DetectorConeDetected", c_effectUnitCaster, 0);
@@ -2433,17 +2685,18 @@ void gt_NovaLosesDetectorConeDetectedStillCloakedQ_Init () {
// Trigger: Nova Re-Cloaks Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_NovaReCloaksTransmissionQ_Func (bool testConds, bool runActions) {
- fixed auto6FD3BA92_at;
- int auto967C6E45_val;
- int autoA600EB33_val;
- int auto90A3AA3E_val;
-
// Variable Declarations
timer lv_talkTimer;
unitgroup lv_nearbyEnemies;
unit lv_speaker;
unit lv_caster;
+ // Automatic Variable Declarations
+ fixed auto6FD3BA92_at;
+ int auto967C6E45_val;
+ int autoA600EB33_val;
+ int auto90A3AA3E_val;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
lv_nearbyEnemies = UnitGroupEmpty();
@@ -2544,12 +2797,16 @@ void gt_NovaReCloaksTransmissionQ_Init () {
// Trigger: Start Game 01 Q - Garrison Spots
//--------------------------------------------------------------------------------------------------
bool gt_StartGame01QGarrisonSpots_Func (bool testConds, bool runActions) {
- int auto5AF052D1_ae;
- int auto5AF052D1_ai;
-
// Variable Declarations
int lv_iter;
+ // Automatic Variable Declarations
+ unitgroup autoEFED9EAE_g;
+ int autoEFED9EAE_u;
+ unit autoEFED9EAE_var;
+ int auto5AF052D1_ae;
+ const int auto5AF052D1_ai = 1;
+
// Variable Initialization
// Actions
@@ -2559,19 +2816,20 @@ bool gt_StartGame01QGarrisonSpots_Func (bool testConds, bool runActions) {
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/3FE01CF1"), null, PointFromId(19));
libNCMI_gf_StartingWorkersAutoHarvest(RegionFromId(1), null);
- UnitGroupLoopBegin(UnitGroup("Overlord", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_AICast(UnitGroupLoopCurrent(), Order(AbilityCommand("GenerateCreep", 0)));
+ autoEFED9EAE_g = UnitGroup("Overlord", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoEFED9EAE_u = UnitGroupCount(autoEFED9EAE_g, c_unitCountAll);
+ for (;; autoEFED9EAE_u -= 1) {
+ autoEFED9EAE_var = UnitGroupUnitFromEnd(autoEFED9EAE_g, autoEFED9EAE_u);
+ if (autoEFED9EAE_var == null) { break; }
+ libNtve_gf_AICast(autoEFED9EAE_var, Order(AbilityCommand("GenerateCreep", 0)));
}
- UnitGroupLoopEnd();
libNCUI_gf_SetHeroPanelUnit(1, gv_zeratul);
TriggerExecute(gt_S1UltraliskPatrol, true, false);
Wait(3.0, c_timeReal);
TriggerExecute(gt_ObjectiveFillGarrisonsCreate, true, true);
auto5AF052D1_ae = gv_s1_GarrisonSpotsCount;
- auto5AF052D1_ai = 1;
lv_iter = 1;
- for ( ; ( (auto5AF052D1_ai >= 0 && lv_iter <= auto5AF052D1_ae) || (auto5AF052D1_ai <= 0 && lv_iter >= auto5AF052D1_ae) ) ; lv_iter += auto5AF052D1_ai ) {
+ for ( ; ( (auto5AF052D1_ai >= 0 && lv_iter <= auto5AF052D1_ae) || (auto5AF052D1_ai < 0 && lv_iter >= auto5AF052D1_ae) ) ; lv_iter += auto5AF052D1_ai ) {
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/F4988F5A"), null, UnitGetPosition(gv_s1_GarrisonSpots[lv_iter].lv_beaconUnit));
SoundPlayForPlayer(SoundLink("Ping", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
TextTagShow(libHots_gf_TextTagForUnit(gv_s1_GarrisonSpots[lv_iter].lv_beaconUnit, 1), PlayerGroupAll(), true);
@@ -2609,6 +2867,11 @@ void gt_StartGame01QGarrisonSpots_Init () {
// Trigger: Start Game 02 Q - Reach Comms Hub
//--------------------------------------------------------------------------------------------------
bool gt_StartGame02QReachCommsHub_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto99FF777A_g;
+ int auto99FF777A_u;
+ unit auto99FF777A_var;
+
// Actions
if (!runActions) {
return true;
@@ -2620,11 +2883,13 @@ bool gt_StartGame02QReachCommsHub_Func (bool testConds, bool runActions) {
libNCMI_gf_CreateMissionAutosavePoint(StringExternal("Param/Value/52DC9371"));
TriggerEnable(gt_S2FirstUnitsFleeStealthedNova, true);
TriggerEnable(gt_S2HallwayUnitsConfrontStealthedNova, true);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitAbilityEnable(UnitGroupLoopCurrent(), "attack", false);
+ auto99FF777A_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto99FF777A_u = UnitGroupCount(auto99FF777A_g, c_unitCountAll);
+ for (;; auto99FF777A_u -= 1) {
+ auto99FF777A_var = UnitGroupUnitFromEnd(auto99FF777A_g, auto99FF777A_u);
+ if (auto99FF777A_var == null) { break; }
+ UnitAbilityEnable(auto99FF777A_var, "attack", false);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeReal);
TriggerExecute(gt_ObjectiveReachCommunicationsHubCreate, true, true);
TriggerExecute(gt_ObjectiveNovaMustSurviveCreate, true, true);
@@ -2649,6 +2914,17 @@ void gt_StartGame02QReachCommsHub_Init () {
// Trigger: Start Game 03 Q - Reach Command Room
//--------------------------------------------------------------------------------------------------
bool gt_StartGame03QReachCommandRoom_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto2B2F718B_g;
+ int auto2B2F718B_u;
+ unit auto2B2F718B_var;
+ unitgroup autoBE9530B6_g;
+ int autoBE9530B6_u;
+ unit autoBE9530B6_var;
+ unitgroup auto702D7CF7_g;
+ int auto702D7CF7_u;
+ unit auto702D7CF7_var;
+
// Actions
if (!runActions) {
return true;
@@ -2657,22 +2933,28 @@ bool gt_StartGame03QReachCommandRoom_Func (bool testConds, bool runActions) {
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/925F6196"), null, PointFromId(800));
libNCMI_gf_CreateMissionAutosavePoint(StringExternal("Param/Value/D59C3172"));
UnitIssueOrder(UnitFromId(108), Order(AbilityCommand("Tarsonis_DoorNELowered", 0)), c_orderQueueReplace);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropMovementSpeed, UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropMovementSpeed, c_unitPropNormal));
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_s3_AtriumTerrans);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "Signal GuideHide");
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitAbilityEnable(UnitGroupLoopCurrent(), "attack", true);
- }
- UnitGroupLoopEnd();
+ auto2B2F718B_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto2B2F718B_u = UnitGroupCount(auto2B2F718B_g, c_unitCountAll);
+ for (;; auto2B2F718B_u -= 1) {
+ auto2B2F718B_var = UnitGroupUnitFromEnd(auto2B2F718B_g, auto2B2F718B_u);
+ if (auto2B2F718B_var == null) { break; }
+ libNtve_gf_ChangeUnitDamage(auto2B2F718B_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
+ UnitSetPropertyFixed(auto2B2F718B_var, c_unitPropMovementSpeed, UnitGetPropertyFixed(auto2B2F718B_var, c_unitPropMovementSpeed, c_unitPropNormal));
+ }
+ autoBE9530B6_g = gv_s3_AtriumTerrans;
+ autoBE9530B6_u = UnitGroupCount(autoBE9530B6_g, c_unitCountAll);
+ for (;; autoBE9530B6_u -= 1) {
+ autoBE9530B6_var = UnitGroupUnitFromEnd(autoBE9530B6_g, autoBE9530B6_u);
+ if (autoBE9530B6_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(autoBE9530B6_var, "Signal GuideHide");
+ }
+ auto702D7CF7_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(32), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto702D7CF7_u = UnitGroupCount(auto702D7CF7_g, c_unitCountAll);
+ for (;; auto702D7CF7_u -= 1) {
+ auto702D7CF7_var = UnitGroupUnitFromEnd(auto702D7CF7_g, auto702D7CF7_u);
+ if (auto702D7CF7_var == null) { break; }
+ UnitAbilityEnable(auto702D7CF7_var, "attack", true);
+ }
Wait(2.0, c_timeReal);
ObjectiveShow(gv_objectiveDestroyZergBase2, PlayerGroupAll(), false);
TriggerExecute(gt_ObjectiveReachCommandRoomCreate, true, true);
@@ -2701,6 +2983,7 @@ void gt_StartGame03QReachCommandRoom_Init () {
// Trigger: S1 - Clean Up Section 01
//--------------------------------------------------------------------------------------------------
bool gt_S1CleanUpSection01_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -2760,6 +3043,17 @@ void gt_S1CleanUpSection01_Init () {
// Trigger: S2 - Clean Up Section 02
//--------------------------------------------------------------------------------------------------
bool gt_S2CleanUpSection02_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto9F486181_g;
+ int auto9F486181_u;
+ unit auto9F486181_var;
+ unitgroup autoA535B81D_g;
+ int autoA535B81D_u;
+ unit autoA535B81D_var;
+ unitgroup autoD11CE405_g;
+ int autoD11CE405_u;
+ unit autoD11CE405_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -2801,21 +3095,27 @@ bool gt_S2CleanUpSection02_Func (bool testConds, bool runActions) {
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(109), libNCMI_ge_StealthAIDefendRegionState_Inactive);
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(67), libNCMI_ge_StealthAIDefendRegionState_Inactive);
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(31), libNCMI_ge_StealthAIDefendRegionState_Inactive);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(109), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto9F486181_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(109), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto9F486181_u = UnitGroupCount(auto9F486181_g, c_unitCountAll);
+ for (;; auto9F486181_u -= 1) {
+ auto9F486181_var = UnitGroupUnitFromEnd(auto9F486181_g, auto9F486181_u);
+ if (auto9F486181_var == null) { break; }
+ UnitRemove(auto9F486181_var);
+ }
+ autoA535B81D_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(67), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA535B81D_u = UnitGroupCount(autoA535B81D_g, c_unitCountAll);
+ for (;; autoA535B81D_u -= 1) {
+ autoA535B81D_var = UnitGroupUnitFromEnd(autoA535B81D_g, autoA535B81D_u);
+ if (autoA535B81D_var == null) { break; }
+ UnitRemove(autoA535B81D_var);
+ }
+ autoD11CE405_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(31), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD11CE405_u = UnitGroupCount(autoD11CE405_g, c_unitCountAll);
+ for (;; autoD11CE405_u -= 1) {
+ autoD11CE405_var = UnitGroupUnitFromEnd(autoD11CE405_g, autoD11CE405_u);
+ if (autoD11CE405_var == null) { break; }
+ UnitRemove(autoD11CE405_var);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(67), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(31), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
UnitIssueOrder(UnitFromId(737), Order(AbilityCommand("Tarsonis_DoorNW", 0)), c_orderQueueReplace);
TriggerQueueClear(c_triggerQueueRemove);
TransmissionClearAll();
@@ -2835,6 +3135,7 @@ bool gt_S1GarrisonSpotsInit_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_iter;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -2957,13 +3258,20 @@ void gt_S1GarrisonSpotsInit_Init () {
// Trigger: S1 - Garrison Infestation Dies
//--------------------------------------------------------------------------------------------------
bool gt_S1GarrisonInfestationDies_Func (bool testConds, bool runActions) {
- int auto11C01D79_ae;
- int auto11C01D79_ai;
-
// Variable Declarations
int lv_garrisonsRevealedCount;
int lv_garrisonIter;
+ // Automatic Variable Declarations
+ int auto11C01D79_ae;
+ const int auto11C01D79_ai = 1;
+ unitgroup autoF6BBEA2B_g;
+ int autoF6BBEA2B_u;
+ unit autoF6BBEA2B_var;
+ unitgroup auto5420E52F_g;
+ int auto5420E52F_u;
+ unit auto5420E52F_var;
+
// Variable Initialization
// Conditions
@@ -2991,24 +3299,27 @@ bool gt_S1GarrisonInfestationDies_Func (bool testConds, bool runActions) {
}
auto11C01D79_ae = gv_s1_GarrisonSpotsCount;
- auto11C01D79_ai = 1;
lv_garrisonIter = 1;
- for ( ; ( (auto11C01D79_ai >= 0 && lv_garrisonIter <= auto11C01D79_ae) || (auto11C01D79_ai <= 0 && lv_garrisonIter >= auto11C01D79_ae) ) ; lv_garrisonIter += auto11C01D79_ai ) {
+ for ( ; ( (auto11C01D79_ai >= 0 && lv_garrisonIter <= auto11C01D79_ae) || (auto11C01D79_ai < 0 && lv_garrisonIter >= auto11C01D79_ae) ) ; lv_garrisonIter += auto11C01D79_ai ) {
if ((UnitIsAlive(gv_s1_GarrisonSpots[lv_garrisonIter].lv_entryInfestation) == false) && (gv_s1_GarrisonSpots[lv_garrisonIter].lv_garrisonBeaconRevealed == false)) {
gv_s1_GarrisonSpots[lv_garrisonIter].lv_garrisonBeaconRevealed = true;
libNtve_gf_CreateUnitsWithDefaultFacing(2, "KerriganInfestBroodling", 0, gv_s1_GarrisonSpots[lv_garrisonIter].lv_garrisonZergPlayer, gv_s1_GarrisonSpots[lv_garrisonIter].lv_unitTargetPoint);
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "BroodlingFate", UnitGroupLoopCurrent(), 1);
+ autoF6BBEA2B_g = UnitLastCreatedGroup();
+ autoF6BBEA2B_u = UnitGroupCount(autoF6BBEA2B_g, c_unitCountAll);
+ for (;; autoF6BBEA2B_u -= 1) {
+ autoF6BBEA2B_var = UnitGroupUnitFromEnd(autoF6BBEA2B_g, autoF6BBEA2B_u);
+ if (autoF6BBEA2B_var == null) { break; }
+ UnitBehaviorAdd(autoF6BBEA2B_var, "BroodlingFate", autoF6BBEA2B_var, 1);
}
- UnitGroupLoopEnd();
UnitGroupIssueOrder(UnitLastCreatedGroup(), OrderTargetingPoint(AbilityCommand("attack", 0), libNtve_gf_PointOffsetTowardsPoint(gv_s1_GarrisonSpots[lv_garrisonIter].lv_unitTargetPoint, 6.0, UnitGetPosition(gv_s1_GarrisonSpots[lv_garrisonIter].lv_beaconUnit))), c_orderQueueReplace);
libNtve_gf_CreateUnitsWithDefaultFacing(2, "InfestedCivilian", 0, gv_s1_GarrisonSpots[lv_garrisonIter].lv_garrisonZergPlayer, gv_s1_GarrisonSpots[lv_garrisonIter].lv_unitTargetPoint);
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "BroodlingFate", UnitGroupLoopCurrent(), 1);
+ auto5420E52F_g = UnitLastCreatedGroup();
+ auto5420E52F_u = UnitGroupCount(auto5420E52F_g, c_unitCountAll);
+ for (;; auto5420E52F_u -= 1) {
+ auto5420E52F_var = UnitGroupUnitFromEnd(auto5420E52F_g, auto5420E52F_u);
+ if (auto5420E52F_var == null) { break; }
+ UnitBehaviorAdd(auto5420E52F_var, "BroodlingFate", auto5420E52F_var, 1);
}
- UnitGroupLoopEnd();
UnitGroupIssueOrder(UnitLastCreatedGroup(), OrderTargetingPoint(AbilityCommand("attack", 0), libNtve_gf_PointOffsetTowardsPoint(gv_s1_GarrisonSpots[lv_garrisonIter].lv_unitTargetPoint, 6.0, UnitGetPosition(gv_s1_GarrisonSpots[lv_garrisonIter].lv_beaconUnit))), c_orderQueueReplace);
Wait(2.0, c_timeGame);
TriggerExecute(gt_S1FirstInfestationDiesQ, true, false);
@@ -3041,12 +3352,13 @@ void gt_S1GarrisonInfestationDies_Init () {
// Trigger: S1 - First Infestation Sighted Q
//--------------------------------------------------------------------------------------------------
bool gt_S1FirstInfestationSightedQ_Func (bool testConds, bool runActions) {
- int auto2BDC97AD_ae;
- int auto2BDC97AD_ai;
-
// Variable Declarations
int lv_garrisonIter;
+ // Automatic Variable Declarations
+ int auto2BDC97AD_ae;
+ const int auto2BDC97AD_ai = 1;
+
// Variable Initialization
// Conditions
@@ -3075,9 +3387,8 @@ bool gt_S1FirstInfestationSightedQ_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
auto2BDC97AD_ae = gv_s1_GarrisonSpotsCount;
- auto2BDC97AD_ai = 1;
lv_garrisonIter = 1;
- for ( ; ( (auto2BDC97AD_ai >= 0 && lv_garrisonIter <= auto2BDC97AD_ae) || (auto2BDC97AD_ai <= 0 && lv_garrisonIter >= auto2BDC97AD_ae) ) ; lv_garrisonIter += auto2BDC97AD_ai ) {
+ for ( ; ( (auto2BDC97AD_ai >= 0 && lv_garrisonIter <= auto2BDC97AD_ae) || (auto2BDC97AD_ai < 0 && lv_garrisonIter >= auto2BDC97AD_ae) ) ; lv_garrisonIter += auto2BDC97AD_ai ) {
if ((gv_s1_GarrisonSpots[lv_garrisonIter].lv_entryInfestation != null) && (UnitIsAlive(gv_s1_GarrisonSpots[lv_garrisonIter].lv_entryInfestation) == true) && (libNtve_gf_UnitIsVisibleToPlayer(gv_s1_GarrisonSpots[lv_garrisonIter].lv_entryInfestation, gv_pLAYER_01_USER) == true)) {
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/C4EBD9A3"), null, UnitGetPosition(gv_s1_GarrisonSpots[lv_garrisonIter].lv_entryInfestation));
libNCMI_gf_PingMinimapCampaign(PlayerGroupAll(), UnitGetPosition(gv_s1_GarrisonSpots[lv_garrisonIter].lv_entryInfestation), 6.0, Color(100.00, 0.00, 0.00));
@@ -3110,6 +3421,7 @@ void gt_S1FirstInfestationSightedQ_Init () {
// Trigger: S1 - First Infestation Dies Q
//--------------------------------------------------------------------------------------------------
bool gt_S1FirstInfestationDiesQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3148,12 +3460,13 @@ void gt_S1FirstInfestationDiesQ_Init () {
// Trigger: S1 - Unit Enters Garrison
//--------------------------------------------------------------------------------------------------
bool gt_S1UnitEntersGarrison_Func (bool testConds, bool runActions) {
- int autoE90237F6_ae;
- int autoE90237F6_ai;
-
// Variable Declarations
int lv_iter;
+ // Automatic Variable Declarations
+ int autoE90237F6_ae;
+ const int autoE90237F6_ai = 1;
+
// Variable Initialization
// Conditions
@@ -3189,9 +3502,8 @@ bool gt_S1UnitEntersGarrison_Func (bool testConds, bool runActions) {
}
autoE90237F6_ae = gv_s1_GarrisonSpotsCount;
- autoE90237F6_ai = 1;
lv_iter = 1;
- for ( ; ( (autoE90237F6_ai >= 0 && lv_iter <= autoE90237F6_ae) || (autoE90237F6_ai <= 0 && lv_iter >= autoE90237F6_ae) ) ; lv_iter += autoE90237F6_ai ) {
+ for ( ; ( (autoE90237F6_ai >= 0 && lv_iter <= autoE90237F6_ae) || (autoE90237F6_ai < 0 && lv_iter >= autoE90237F6_ae) ) ; lv_iter += autoE90237F6_ai ) {
if ((gv_s1_GarrisonSpots[lv_iter].lv_garrisonSpotCompleted == false) && (UnitIsAlive(gv_s1_GarrisonSpots[lv_iter].lv_entryInfestation) == false) && (UnitIsAlive(gv_s1_GarrisonSpots[lv_iter].lv_beaconUnit) == true) && (libNtve_gf_UnitIsVisibleToPlayer(gv_s1_GarrisonSpots[lv_iter].lv_beaconUnit, gv_pLAYER_01_USER) == true) && (libNtve_gf_UnitInRegion(EventUnit(), gv_s1_GarrisonSpots[lv_iter].lv_beaconRegion) == true) && (UnitGetOwner(EventUnit()) == gv_pLAYER_01_USER) && ((UnitGetType(EventUnit()) == gv_s1_GarrisonSpots[lv_iter].lv_garrisonUnitType) || ((gv_s1_GarrisonSpots[lv_iter].lv_garrisonUnitType == "Marauder") && (UnitGetType(EventUnit()) == "MengskMarauder")) || ((gv_s1_GarrisonSpots[lv_iter].lv_garrisonUnitType == "HellionTank") && ((UnitGetType(EventUnit()) == "Hellion") || (UnitGetType(EventUnit()) == "HoverHellbat"))) || ((gv_s1_GarrisonSpots[lv_iter].lv_garrisonUnitType == "SiegeTank") && ((UnitGetType(EventUnit()) == "HoverSiegeTankSieged") || (UnitGetType(EventUnit()) == "HoverSiegeTank"))))) {
gf_S1GarrisonUnit(EventUnit(), lv_iter);
return true;
@@ -3215,6 +3527,7 @@ void gt_S1UnitEntersGarrison_Init () {
// Trigger: S1 - Garrison Filled Q
//--------------------------------------------------------------------------------------------------
bool gt_S1GarrisonFilledQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto6850F69D_val;
// Conditions
@@ -3274,6 +3587,7 @@ void gt_S1GarrisonFilledQ_Init () {
// Trigger: S1 - Garrisons All Filled Up
//--------------------------------------------------------------------------------------------------
bool gt_S1GarrisonsAllFilledUp_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3317,6 +3631,7 @@ void gt_S1GarrisonsAllFilledUp_Init () {
// Trigger: S1 - Tac Nuke Strike Online Q
//--------------------------------------------------------------------------------------------------
bool gt_S1TacNukeStrikeOnlineQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3359,6 +3674,7 @@ void gt_S1TacNukeStrikeOnlineQ_Init () {
// Trigger: S1 - Turn Off Tac Nuke Strike Highlight
//--------------------------------------------------------------------------------------------------
bool gt_S1TurnOffTacNukeStrikeHighlight_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3394,6 +3710,7 @@ void gt_S1TurnOffTacNukeStrikeHighlight_Init () {
// Trigger: S1 - Player Enters Building Collapse Reveal
//--------------------------------------------------------------------------------------------------
bool gt_S1PlayerEntersBuildingCollapseReveal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3446,6 +3763,7 @@ bool gt_S1UltraliskPatrol_Func (bool testConds, bool runActions) {
point lv_ultraliskPatrolPoint02;
point lv_currentTargetPoint;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -3501,13 +3819,20 @@ void gt_S1UltraliskPatrol_Init () {
// Trigger: S1 - Ravager Shots
//--------------------------------------------------------------------------------------------------
bool gt_S1RavagerShots_Func (bool testConds, bool runActions) {
- int autoED1D5D4F_n;
- int autoED1D5D4F_i;
-
// Variable Declarations
unitgroup lv_targetUnitGroup;
point lv_targetPoint;
+ // Automatic Variable Declarations
+ unitgroup autoC09DBA78_g;
+ int autoC09DBA78_u;
+ unit autoC09DBA78_var;
+ unitgroup auto30A5BB3E_g;
+ int auto30A5BB3E_u;
+ unit auto30A5BB3E_var;
+ const int autoED1D5D4F_n = 10;
+ int autoED1D5D4F_i;
+
// Variable Initialization
lv_targetUnitGroup = UnitGroupEmpty();
@@ -3535,24 +3860,28 @@ bool gt_S1RavagerShots_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_01_USER, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsVisibleToPlayer(UnitGroupLoopCurrent(), gv_pLAYER_03_FERALZERG_MIDDLEBULLIES) == true)) {
- UnitGroupAdd(lv_targetUnitGroup, UnitGroupLoopCurrent());
+ autoC09DBA78_g = UnitGroup(null, gv_pLAYER_01_USER, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1);
+ autoC09DBA78_u = UnitGroupCount(autoC09DBA78_g, c_unitCountAll);
+ for (;; autoC09DBA78_u -= 1) {
+ autoC09DBA78_var = UnitGroupUnitFromEnd(autoC09DBA78_g, autoC09DBA78_u);
+ if (autoC09DBA78_var == null) { break; }
+ if ((libNtve_gf_UnitIsVisibleToPlayer(autoC09DBA78_var, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES) == true)) {
+ UnitGroupAdd(lv_targetUnitGroup, autoC09DBA78_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_targetUnitGroup, c_unitCountAlive) > 0)) {
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "Ravager") || (UnitGetType(UnitGroupLoopCurrent()) == "RavagerBurrowed"))) {
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("BurrowRavagerUp", 0)), c_orderQueueReplace);
- autoED1D5D4F_n = 10;
+ auto30A5BB3E_g = UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto30A5BB3E_u = UnitGroupCount(auto30A5BB3E_g, c_unitCountAll);
+ for (;; auto30A5BB3E_u -= 1) {
+ auto30A5BB3E_var = UnitGroupUnitFromEnd(auto30A5BB3E_g, auto30A5BB3E_u);
+ if (auto30A5BB3E_var == null) { break; }
+ if (((UnitGetType(auto30A5BB3E_var) == "Ravager") || (UnitGetType(auto30A5BB3E_var) == "RavagerBurrowed"))) {
+ UnitIssueOrder(auto30A5BB3E_var, Order(AbilityCommand("BurrowRavagerUp", 0)), c_orderQueueReplace);
for (autoED1D5D4F_i = 1; autoED1D5D4F_i <= autoED1D5D4F_n; autoED1D5D4F_i += 1) {
lv_targetPoint = RegionRandomPoint(RegionCircle(UnitGroupCenterOfGroup(UnitGroup(null, gv_pLAYER_01_USER, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0)), 2.0));
if ((PointPathingPassable(lv_targetPoint) == true)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("RavagerCorrosiveBile", 0), RegionRandomPoint(RegionCircle(UnitGroupCenterOfGroup(UnitGroup(null, gv_pLAYER_01_USER, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0)), 2.0))), c_orderQueueReplace);
+ UnitIssueOrder(auto30A5BB3E_var, OrderTargetingPoint(AbilityCommand("RavagerCorrosiveBile", 0), RegionRandomPoint(RegionCircle(UnitGroupCenterOfGroup(UnitGroup(null, gv_pLAYER_01_USER, RegionFromId(94), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0)), 2.0))), c_orderQueueReplace);
break;
}
@@ -3561,7 +3890,6 @@ bool gt_S1RavagerShots_Func (bool testConds, bool runActions) {
}
}
- UnitGroupLoopEnd();
}
return true;
@@ -3582,6 +3910,11 @@ bool gt_S1PlayerEntersNydusWormTrigger_Func (bool testConds, bool runActions) {
unit lv_nydus02;
unit lv_nydus03;
+ // Automatic Variable Declarations
+ unitgroup auto856361C6_g;
+ int auto856361C6_u;
+ unit auto856361C6_var;
+
// Variable Initialization
// Conditions
@@ -3649,14 +3982,16 @@ bool gt_S1PlayerEntersNydusWormTrigger_Func (bool testConds, bool runActions) {
Wait(0.25, c_timeGame);
gf_S1UnloadUnitsFromNydusWorm(libLotv_gf_DifficultyValueInt2(0, 0, 0, 2), "Roach", lv_nydus01, PointFromId(1796), gv_pLAYER_05_FERALZERG_LEFTBULLIES);
while ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (gv_currentStage == 1)) {
- UnitGroupLoopBegin(gv_s1_NydusUnloadedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ auto856361C6_g = gv_s1_NydusUnloadedUnits;
+ auto856361C6_u = UnitGroupCount(auto856361C6_g, c_unitCountAll);
+ for (;; auto856361C6_u -= 1) {
+ auto856361C6_var = UnitGroupUnitFromEnd(auto856361C6_g, auto856361C6_u);
+ if (auto856361C6_var == null) { break; }
if ((RandomInt(1, 8) == 1)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(87))), c_orderQueueReplace);
+ UnitIssueOrder(auto856361C6_var, OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(87))), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeGame);
}
return true;
@@ -3672,6 +4007,7 @@ void gt_S1PlayerEntersNydusWormTrigger_Init () {
// Trigger: S1 - Player Nears Enemy Base Left Q
//--------------------------------------------------------------------------------------------------
bool gt_S1PlayerNearsEnemyBaseLeftQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3722,6 +4058,7 @@ void gt_S1PlayerNearsEnemyBaseLeftQ_Init () {
// Trigger: S1 - Player Nears Enemy Base Middle Q
//--------------------------------------------------------------------------------------------------
bool gt_S1PlayerNearsEnemyBaseMiddleQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3772,6 +4109,7 @@ void gt_S1PlayerNearsEnemyBaseMiddleQ_Init () {
// Trigger: S1 - Player Nears Enemy Base Right Q
//--------------------------------------------------------------------------------------------------
bool gt_S1PlayerNearsEnemyBaseRightQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3822,6 +4160,7 @@ void gt_S1PlayerNearsEnemyBaseRightQ_Init () {
// Trigger: S1 - Player Kills Enemies In Enemy Base Areas Q
//--------------------------------------------------------------------------------------------------
bool gt_S1PlayerKillsEnemiesInEnemyBaseAreasQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3874,6 +4213,7 @@ void gt_S1PlayerKillsEnemiesInEnemyBaseAreasQ_Init () {
// Trigger: S1 - Unit Enters Bonus Objective Create
//--------------------------------------------------------------------------------------------------
bool gt_S1UnitEntersBonusObjectiveCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3917,6 +4257,7 @@ void gt_S1UnitEntersBonusObjectiveCreate_Init () {
// Trigger: S1 - Bonus Objective Reveal Q
//--------------------------------------------------------------------------------------------------
bool gt_S1BonusObjectiveRevealQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -3965,13 +4306,23 @@ void gt_S1BonusObjectiveRevealQ_Init () {
// Trigger: S1 - Bonus Objective Hercules Crash
//--------------------------------------------------------------------------------------------------
bool gt_S1BonusObjectiveHerculesCrash_Func (bool testConds, bool runActions) {
- int auto720B2F6D_n;
- int auto720B2F6D_i;
-
// Variable Declarations
unit lv_herculesUnit;
unitgroup lv_zergFlyerGroup;
+ // Automatic Variable Declarations
+ const int auto720B2F6D_n = 4;
+ int auto720B2F6D_i;
+ unitgroup auto30C5EF8D_g;
+ int auto30C5EF8D_u;
+ unit auto30C5EF8D_var;
+ unitgroup autoF090EC4E_g;
+ int autoF090EC4E_u;
+ unit autoF090EC4E_var;
+ unitgroup autoF40A1C3E_g;
+ int autoF40A1C3E_u;
+ unit autoF40A1C3E_var;
+
// Variable Initialization
lv_zergFlyerGroup = UnitGroupEmpty();
@@ -4003,7 +4354,6 @@ bool gt_S1BonusObjectiveHerculesCrash_Func (bool testConds, bool runActions) {
libNtve_gf_CreateUnitsAtPoint2(1, "HerculesCrashing", 0, gv_pLAYER_07_STRANDEDTERRANS, PointFromId(270));
lv_herculesUnit = UnitLastCreated();
libNtve_gf_ChangeUnitDamage(lv_herculesUnit, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
- auto720B2F6D_n = 4;
for (auto720B2F6D_i = 1; auto720B2F6D_i <= auto720B2F6D_n; auto720B2F6D_i += 1) {
libNtve_gf_UnitCreateFacingPoint(1, "Mutalisk", 0, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionRandomPoint(RegionFromId(57)), UnitGetPosition(lv_herculesUnit));
UnitGroupAdd(lv_zergFlyerGroup, UnitLastCreated());
@@ -4015,11 +4365,13 @@ bool gt_S1BonusObjectiveHerculesCrash_Func (bool testConds, bool runActions) {
}
VisRevealArea(gv_pLAYER_01_USER, RegionFromId(62), 8.0, false);
UnitKill(lv_herculesUnit);
- UnitGroupLoopBegin(lv_zergFlyerGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_S1BonusObjectiveDespawnZergFlyer(UnitGroupLoopCurrent());
+ auto30C5EF8D_g = lv_zergFlyerGroup;
+ auto30C5EF8D_u = UnitGroupCount(auto30C5EF8D_g, c_unitCountAll);
+ for (;; auto30C5EF8D_u -= 1) {
+ auto30C5EF8D_var = UnitGroupUnitFromEnd(auto30C5EF8D_g, auto30C5EF8D_u);
+ if (auto30C5EF8D_var == null) { break; }
+ gf_S1BonusObjectiveDespawnZergFlyer(auto30C5EF8D_var);
}
- UnitGroupLoopEnd();
Wait(4.5, c_timeGame);
if (((libNCMI_gf_GameIsOver() == true) || (libNCMI_gf_PlayerInCinematicModeCampaign() == true))) {
return true;
@@ -4031,18 +4383,22 @@ bool gt_S1BonusObjectiveHerculesCrash_Func (bool testConds, bool runActions) {
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingBonus", PointFromId(209), ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 0.0, 270.0);
PingSetTooltip(PingLastCreated(), StringExternal("Param/Value/B5607704"));
gv_s1_BO_Ping = PingLastCreated();
- UnitGroupLoopBegin(UnitGroup("MengskFirebat", gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_S1BonusObjectiveSpawnSurvivor(UnitGroupLoopCurrent());
+ autoF090EC4E_g = UnitGroup("MengskFirebat", gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoF090EC4E_u = UnitGroupCount(autoF090EC4E_g, c_unitCountAll);
+ for (;; autoF090EC4E_u -= 1) {
+ autoF090EC4E_var = UnitGroupUnitFromEnd(autoF090EC4E_g, autoF090EC4E_u);
+ if (autoF090EC4E_var == null) { break; }
+ gf_S1BonusObjectiveSpawnSurvivor(autoF090EC4E_var);
Wait(0.25, c_timeGame);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("MengskMedic", gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_S1BonusObjectiveSpawnSurvivor(UnitGroupLoopCurrent());
+ autoF40A1C3E_g = UnitGroup("MengskMedic", gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoF40A1C3E_u = UnitGroupCount(autoF40A1C3E_g, c_unitCountAll);
+ for (;; autoF40A1C3E_u -= 1) {
+ autoF40A1C3E_var = UnitGroupUnitFromEnd(autoF40A1C3E_g, autoF40A1C3E_u);
+ if (autoF40A1C3E_var == null) { break; }
+ gf_S1BonusObjectiveSpawnSurvivor(autoF40A1C3E_var);
Wait(0.25, c_timeGame);
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(UnitFromId(685), true);
}
return true;
@@ -4060,6 +4416,11 @@ bool gt_S1UnitEntersBonusObjectiveRevealQ_Func (bool testConds, bool runActions)
// Variable Declarations
bool lv_survivorsFound;
+ // Automatic Variable Declarations
+ unitgroup autoAAB618D4_g;
+ int autoAAB618D4_u;
+ unit autoAAB618D4_var;
+
// Variable Initialization
// Conditions
@@ -4094,15 +4455,17 @@ bool gt_S1UnitEntersBonusObjectiveRevealQ_Func (bool testConds, bool runActions)
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/93C80E73"), null, PointFromId(209));
PingDestroy(gv_s1_BO_Ping);
TriggerExecute(gt_ObjectiveRecoverDownedForcesComplete, true, false);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGroupLoopCurrent() != UnitFromId(685))) {
+ autoAAB618D4_g = UnitGroup(null, gv_pLAYER_07_STRANDEDTERRANS, RegionFromId(18), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoAAB618D4_u = UnitGroupCount(autoAAB618D4_g, c_unitCountAll);
+ for (;; autoAAB618D4_u -= 1) {
+ autoAAB618D4_var = UnitGroupUnitFromEnd(autoAAB618D4_g, autoAAB618D4_u);
+ if (autoAAB618D4_var == null) { break; }
+ if ((autoAAB618D4_var != UnitFromId(685))) {
lv_survivorsFound = true;
- libNtve_gf_RescueUnit(UnitGroupLoopCurrent(), gv_pLAYER_01_USER, true);
+ libNtve_gf_RescueUnit(autoAAB618D4_var, gv_pLAYER_01_USER, true);
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeGame);
libNCMI_gf_DisplayRewardFloatingText(UnitGetPosition(UnitFromId(685)), libNCMI_ge_CacheResourceType_CustomResource, 1, null, null, gv_pLAYER_01_USER);
UnitKill(UnitFromId(685));
@@ -4133,6 +4496,14 @@ bool gt_S2FirstUnitsFleeStealthedNova_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_fleeingUnitsGroup;
+ // Automatic Variable Declarations
+ unitgroup autoFD95DD77_g;
+ int autoFD95DD77_u;
+ unit autoFD95DD77_var;
+ unitgroup autoC615FC7D_g;
+ int autoC615FC7D_u;
+ unit autoC615FC7D_var;
+
// Variable Initialization
lv_fleeingUnitsGroup = UnitGroupEmpty();
@@ -4173,21 +4544,25 @@ bool gt_S2FirstUnitsFleeStealthedNova_Func (bool testConds, bool runActions) {
TriggerEnable(gt_S2NovaPassesHallwayUnitsUndetectedQ, false);
TriggerExecute(gt_S2FirstUnitsFleeStealthedNovaTransmissionQ, true, false);
lv_fleeingUnitsGroup = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(64), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- UnitGroupLoopBegin(lv_fleeingUnitsGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "AnimGroupApply Work");
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 4), UnitGetPosition(gv_zeratul)), c_orderQueueReplace);
+ autoFD95DD77_g = lv_fleeingUnitsGroup;
+ autoFD95DD77_u = UnitGroupCount(autoFD95DD77_g, c_unitCountAll);
+ for (;; autoFD95DD77_u -= 1) {
+ autoFD95DD77_var = UnitGroupUnitFromEnd(autoFD95DD77_g, autoFD95DD77_u);
+ if (autoFD95DD77_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(autoFD95DD77_var, "AnimGroupApply Work");
+ UnitIssueOrder(autoFD95DD77_var, OrderTargetingPoint(AbilityCommand("move", 4), UnitGetPosition(gv_zeratul)), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeGame);
if ((UnitGroupCount(lv_fleeingUnitsGroup, c_unitCountAlive) > 0)) {
- UnitGroupLoopBegin(lv_fleeingUnitsGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), RegionRandomPoint(RegionFromId(34))), c_orderQueueReplace);
+ autoC615FC7D_g = lv_fleeingUnitsGroup;
+ autoC615FC7D_u = UnitGroupCount(autoC615FC7D_g, c_unitCountAll);
+ for (;; autoC615FC7D_u -= 1) {
+ autoC615FC7D_var = UnitGroupUnitFromEnd(autoC615FC7D_g, autoC615FC7D_u);
+ if (autoC615FC7D_var == null) { break; }
+ UnitIssueOrder(autoC615FC7D_var, OrderTargetingPoint(AbilityCommand("move", 0), RegionRandomPoint(RegionFromId(34))), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
}
return true;
@@ -4204,6 +4579,11 @@ void gt_S2FirstUnitsFleeStealthedNova_Init () {
// Trigger: S2 - First Units Get To Hallway Units
//--------------------------------------------------------------------------------------------------
bool gt_S2FirstUnitsGetToHallwayUnits_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoFB924908_g;
+ int autoFB924908_u;
+ unit autoFB924908_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4234,13 +4614,15 @@ bool gt_S2FirstUnitsGetToHallwayUnits_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(65), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "AnimGroupApply Work");
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 4), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 1.0, 315.0)), c_orderQueueAddToEnd);
+ autoFB924908_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(65), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoFB924908_u = UnitGroupCount(autoFB924908_g, c_unitCountAll);
+ for (;; autoFB924908_u -= 1) {
+ autoFB924908_var = UnitGroupUnitFromEnd(autoFB924908_g, autoFB924908_u);
+ if (autoFB924908_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(autoFB924908_var, "AnimGroupApply Work");
+ UnitIssueOrder(autoFB924908_var, OrderTargetingPoint(AbilityCommand("move", 4), PointWithOffsetPolar(UnitGetPosition(autoFB924908_var), 1.0, 315.0)), c_orderQueueAddToEnd);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
return true;
}
@@ -4259,6 +4641,7 @@ bool gt_S2FirstUnitsFleeStealthedNovaTransmissionQ_Func (bool testConds, bool ru
unit lv_unit01;
unit lv_unit02;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -4319,6 +4702,7 @@ bool gt_S2NovaPassesHallwayUnitsUndetectedQ_Func (bool testConds, bool runAction
unit lv_unit01;
unit lv_unit02;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -4378,6 +4762,11 @@ void gt_S2NovaPassesHallwayUnitsUndetectedQ_Init () {
// Trigger: S2 - Hallway Units Confront Stealthed Nova
//--------------------------------------------------------------------------------------------------
bool gt_S2HallwayUnitsConfrontStealthedNova_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto00228077_g;
+ int auto00228077_u;
+ unit auto00228077_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4412,13 +4801,15 @@ bool gt_S2HallwayUnitsConfrontStealthedNova_Func (bool testConds, bool runAction
TriggerEnable(TriggerGetCurrent(), false);
TriggerExecute(gt_S2HallwayUnitsConfrontStealthedNovaTransmissionQ, true, false);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(65), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "AnimGroupApply Work");
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 4), UnitGetPosition(gv_zeratul)), c_orderQueueReplace);
+ auto00228077_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(65), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto00228077_u = UnitGroupCount(auto00228077_g, c_unitCountAll);
+ for (;; auto00228077_u -= 1) {
+ auto00228077_var = UnitGroupUnitFromEnd(auto00228077_g, auto00228077_u);
+ if (auto00228077_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(auto00228077_var, "AnimGroupApply Work");
+ UnitIssueOrder(auto00228077_var, OrderTargetingPoint(AbilityCommand("move", 4), UnitGetPosition(gv_zeratul)), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
return true;
}
@@ -4436,6 +4827,7 @@ bool gt_S2HallwayUnitsConfrontStealthedNovaTransmissionQ_Func (bool testConds, b
// Variable Declarations
unit lv_unit01;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -4489,6 +4881,7 @@ void gt_S2HallwayUnitsConfrontStealthedNovaTransmissionQ_Init () {
// Trigger: S2 - Nova Enters Initial Encounter
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaEntersInitialEncounter_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4553,6 +4946,7 @@ void gt_S2NovaEntersInitialEncounter_Init () {
// Trigger: S2 - Nova Enters Initial Encounter Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaEntersInitialEncounterTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4598,6 +4992,7 @@ void gt_S2NovaEntersInitialEncounterTransmissionQ_Init () {
// Trigger: S2 - Nova Uses Dash Attack
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaUsesDashAttack_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4638,6 +5033,7 @@ void gt_S2NovaUsesDashAttack_Init () {
// Trigger: S2 - Nova Kills Unit In Tutorial Room
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaKillsUnitInTutorialRoom_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4690,6 +5086,7 @@ void gt_S2NovaKillsUnitInTutorialRoom_Init () {
// Trigger: S2 - Nova Skips Sword Tutorial Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaSkipsSwordTutorialTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4739,6 +5136,7 @@ void gt_S2NovaSkipsSwordTutorialTransmissionQ_Init () {
// Trigger: S2 - Turn Off Sword Tutorial
//--------------------------------------------------------------------------------------------------
bool gt_S2TurnOffSwordTutorial_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4779,6 +5177,7 @@ void gt_S2TurnOffSwordTutorial_Init () {
// Trigger: S2 - Marauder Enters Sword Tutorial Room Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S2MarauderEntersSwordTutorialRoomTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4826,6 +5225,7 @@ void gt_S2MarauderEntersSwordTutorialRoomTransmissionQ_Init () {
// Trigger: S2 - Nova Kills Another in Sword Tutorial Room Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaKillsAnotherinSwordTutorialRoomTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4878,6 +5278,7 @@ void gt_S2NovaKillsAnotherinSwordTutorialRoomTransmissionQ_Init () {
// Trigger: S2 - Nova Kills Haiku Target Q
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaKillsHaikuTargetQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4922,6 +5323,7 @@ void gt_S2NovaKillsHaikuTargetQ_Init () {
// Trigger: S2 - Nova Enters Ghost Guard Room 01
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaEntersGhostGuardRoom01_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4974,6 +5376,7 @@ void gt_S2NovaEntersGhostGuardRoom01_Init () {
// Trigger: S2 - Target Practice Trooper 01
//--------------------------------------------------------------------------------------------------
bool gt_S2TargetPracticeTrooper01_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5009,6 +5412,7 @@ void gt_S2TargetPracticeTrooper01_Init () {
// Trigger: S2 - Target Practice Trooper 02
//--------------------------------------------------------------------------------------------------
bool gt_S2TargetPracticeTrooper02_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5047,6 +5451,11 @@ bool gt_S2BonusObjectiveDetectorsDeadQ_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_fleeingUnitsGroup;
+ // Automatic Variable Declarations
+ unitgroup auto7CE820A3_g;
+ int auto7CE820A3_u;
+ unit auto7CE820A3_var;
+
// Variable Initialization
lv_fleeingUnitsGroup = UnitGroupEmpty();
@@ -5097,11 +5506,13 @@ bool gt_S2BonusObjectiveDetectorsDeadQ_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
lv_fleeingUnitsGroup = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(109), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(67), libNCMI_ge_StealthAIDefendRegionState_Active);
- UnitGroupLoopBegin(lv_fleeingUnitsGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(67), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(gf_RandomPointinRegionSharedbyGroup(RegionFromId(68), lv_fleeingUnitsGroup), RandomFixed(90.0, 200.0)));
+ auto7CE820A3_g = lv_fleeingUnitsGroup;
+ auto7CE820A3_u = UnitGroupCount(auto7CE820A3_g, c_unitCountAll);
+ for (;; auto7CE820A3_u -= 1) {
+ auto7CE820A3_var = UnitGroupUnitFromEnd(auto7CE820A3_g, auto7CE820A3_u);
+ if (auto7CE820A3_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(67), auto7CE820A3_var, libNtve_gf_PointFacingAngle(gf_RandomPointinRegionSharedbyGroup(RegionFromId(68), lv_fleeingUnitsGroup), RandomFixed(90.0, 200.0)));
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_fleeingUnitsGroup, c_unitCountAlive) > 0)) {
TriggerQueueEnter();
libComC_gf_SetAllSoundChannelVolumesCampaign(libComC_ge_VolumeChannelModeCampaign_Speech);
@@ -5123,6 +5534,7 @@ void gt_S2BonusObjectiveDetectorsDeadQ_Init () {
// Trigger: S2 - Nova Enters Ghost Room 02
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaEntersGhostRoom02_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5171,6 +5583,11 @@ bool gt_S2GhostRoom02DetectorDead_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_fleeingUnitsGroup;
+ // Automatic Variable Declarations
+ unitgroup autoBFEDB02B_g;
+ int autoBFEDB02B_u;
+ unit autoBFEDB02B_var;
+
// Variable Initialization
lv_fleeingUnitsGroup = UnitGroupEmpty();
@@ -5213,11 +5630,13 @@ bool gt_S2GhostRoom02DetectorDead_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
lv_fleeingUnitsGroup = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(67), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(31), libNCMI_ge_StealthAIDefendRegionState_Active);
- UnitGroupLoopBegin(lv_fleeingUnitsGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(31), UnitGroupLoopCurrent(), libNtve_gf_PointFacingAngle(gf_RandomPointinRegionSharedbyGroup(RegionFromId(69), lv_fleeingUnitsGroup), RandomFixed(10.0, 110.0)));
+ autoBFEDB02B_g = lv_fleeingUnitsGroup;
+ autoBFEDB02B_u = UnitGroupCount(autoBFEDB02B_g, c_unitCountAll);
+ for (;; autoBFEDB02B_u -= 1) {
+ autoBFEDB02B_var = UnitGroupUnitFromEnd(autoBFEDB02B_g, autoBFEDB02B_u);
+ if (autoBFEDB02B_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(31), autoBFEDB02B_var, libNtve_gf_PointFacingAngle(gf_RandomPointinRegionSharedbyGroup(RegionFromId(69), lv_fleeingUnitsGroup), RandomFixed(10.0, 110.0)));
}
- UnitGroupLoopEnd();
return true;
}
@@ -5231,6 +5650,7 @@ void gt_S2GhostRoom02DetectorDead_Init () {
// Trigger: S2 - Nova Enters Ghost Room 03
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaEntersGhostRoom03_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5274,6 +5694,7 @@ void gt_S2NovaEntersGhostRoom03_Init () {
// Trigger: S2 - Nova Adjacent To Comms Hub Room Q
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaAdjacentToCommsHubRoomQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5326,6 +5747,7 @@ void gt_S2NovaAdjacentToCommsHubRoomQ_Init () {
// Trigger: S2 - Nova Enters Beacon Intel Q
//--------------------------------------------------------------------------------------------------
bool gt_S2NovaEntersBeaconIntelQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5375,6 +5797,7 @@ void gt_S2NovaEntersBeaconIntelQ_Init () {
// Trigger: S3 - Nova Enters Comms Room
//--------------------------------------------------------------------------------------------------
bool gt_S3NovaEntersCommsRoom_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5424,6 +5847,7 @@ bool gt_S3NovaEntersAtriumFirstTime_Func (bool testConds, bool runActions) {
unit lv_hercules01;
unit lv_hercules02;
+ // Automatic Variable Declarations
// Variable Initialization
lv_transportGroup01 = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(38), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
lv_transportGroup02 = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(56), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
@@ -5476,6 +5900,7 @@ void gt_S3NovaEntersAtriumFirstTime_Init () {
// Trigger: S3 - Nova Enters Atrium First Time Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3NovaEntersAtriumFirstTimeTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5521,6 +5946,20 @@ void gt_S3NovaEntersAtriumFirstTimeTransmissionQ_Init () {
// Trigger: S3 - Psi Emitters!
//--------------------------------------------------------------------------------------------------
bool gt_S3PsiEmitters_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto6F92A3A4_g;
+ int auto6F92A3A4_u;
+ unit auto6F92A3A4_var;
+ unitgroup autoC7AA791D_g;
+ int autoC7AA791D_u;
+ unit autoC7AA791D_var;
+ unitgroup auto212243FD_g;
+ int auto212243FD_u;
+ unit auto212243FD_var;
+ unitgroup auto35391333_g;
+ int auto35391333_u;
+ unit auto35391333_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5548,11 +5987,13 @@ bool gt_S3PsiEmitters_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
TriggerEnable(gt_NovaFlashbangsUnitInDefendRegion, false);
TriggerEnable(gt_NovaKillsDOMUnitInDefendRegion, false);
- UnitGroupLoopBegin(UnitGroup("Overlord", gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(49), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 10.0, UnitGetFacing(UnitGroupLoopCurrent()))), c_orderQueueReplace);
+ auto6F92A3A4_g = UnitGroup("Overlord", gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(49), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto6F92A3A4_u = UnitGroupCount(auto6F92A3A4_g, c_unitCountAll);
+ for (;; auto6F92A3A4_u -= 1) {
+ auto6F92A3A4_var = UnitGroupUnitFromEnd(auto6F92A3A4_g, auto6F92A3A4_u);
+ if (auto6F92A3A4_var == null) { break; }
+ UnitIssueOrder(auto6F92A3A4_var, OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(UnitGetPosition(auto6F92A3A4_var), 10.0, UnitGetFacing(auto6F92A3A4_var))), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
TriggerEnable(gt_S3PsiEmittersLoadTransport, true);
libNtve_gf_CreateUnitsAtPoint2(1, "HerculesLanderFlying", 0, gv_pLAYER_06_DEFENDERSOFMAN, PointFromId(1674));
gv_herculesUnit = UnitLastCreated();
@@ -5567,23 +6008,29 @@ bool gt_S3PsiEmitters_Func (bool testConds, bool runActions) {
TriggerExecute(gt_S3PsiEmittersTransmissionQ, true, false);
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(100), libNCMI_ge_StealthAIDefendRegionState_Active);
Wait(2.0, c_timeGame);
- UnitGroupLoopBegin(gv_evacGroup1);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), UnitGroupLoopCurrent(), gf_RandomPointinRegionSharedbyGroup(RegionFromId(41), gv_evacGroupAll));
+ autoC7AA791D_g = gv_evacGroup1;
+ autoC7AA791D_u = UnitGroupCount(autoC7AA791D_g, c_unitCountAll);
+ for (;; autoC7AA791D_u -= 1) {
+ autoC7AA791D_var = UnitGroupUnitFromEnd(autoC7AA791D_g, autoC7AA791D_u);
+ if (autoC7AA791D_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), autoC7AA791D_var, gf_RandomPointinRegionSharedbyGroup(RegionFromId(41), gv_evacGroupAll));
}
- UnitGroupLoopEnd();
Wait(1.5, c_timeGame);
- UnitGroupLoopBegin(gv_evacGroup2);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), UnitGroupLoopCurrent(), gf_RandomPointinRegionSharedbyGroup(RegionFromId(41), gv_evacGroupAll));
+ auto212243FD_g = gv_evacGroup2;
+ auto212243FD_u = UnitGroupCount(auto212243FD_g, c_unitCountAll);
+ for (;; auto212243FD_u -= 1) {
+ auto212243FD_var = UnitGroupUnitFromEnd(auto212243FD_g, auto212243FD_u);
+ if (auto212243FD_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), auto212243FD_var, gf_RandomPointinRegionSharedbyGroup(RegionFromId(41), gv_evacGroupAll));
}
- UnitGroupLoopEnd();
Wait(1.5, c_timeGame);
- UnitGroupLoopBegin(gv_evacGroup3);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), UnitGroupLoopCurrent(), gf_RandomPointinRegionSharedbyGroup(RegionFromId(41), gv_evacGroupAll));
+ auto35391333_g = gv_evacGroup3;
+ auto35391333_u = UnitGroupCount(auto35391333_g, c_unitCountAll);
+ for (;; auto35391333_u -= 1) {
+ auto35391333_var = UnitGroupUnitFromEnd(auto35391333_g, auto35391333_u);
+ if (auto35391333_var == null) { break; }
+ libNCMI_gf_StealthAIAddUnitToStealthAIDefendRegion(RegionFromId(100), auto35391333_var, gf_RandomPointinRegionSharedbyGroup(RegionFromId(41), gv_evacGroupAll));
}
- UnitGroupLoopEnd();
return true;
}
@@ -5597,6 +6044,7 @@ void gt_S3PsiEmitters_Init () {
// Trigger: S3 - Psi Emitters Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3PsiEmittersTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5645,6 +6093,11 @@ bool gt_S3PsiEmittersLoadTransport_Func (bool testConds, bool runActions) {
// Variable Declarations
bool lv_allUnitsAreCargoOrDead;
+ // Automatic Variable Declarations
+ unitgroup auto4EE0289E_g;
+ int auto4EE0289E_u;
+ unit auto4EE0289E_var;
+
// Variable Initialization
lv_allUnitsAreCargoOrDead = true;
@@ -5668,19 +6121,21 @@ bool gt_S3PsiEmittersLoadTransport_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(gv_evacGroupAll);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitIsAlive(UnitGroupLoopCurrent()) == true) && (libNtve_gf_UnitIsInsideTransport(UnitGroupLoopCurrent()) == false)) {
+ auto4EE0289E_g = gv_evacGroupAll;
+ auto4EE0289E_u = UnitGroupCount(auto4EE0289E_g, c_unitCountAll);
+ for (;; auto4EE0289E_u -= 1) {
+ auto4EE0289E_var = UnitGroupUnitFromEnd(auto4EE0289E_g, auto4EE0289E_u);
+ if (auto4EE0289E_var == null) { break; }
+ if ((UnitIsAlive(auto4EE0289E_var) == true) && (libNtve_gf_UnitIsInsideTransport(auto4EE0289E_var) == false)) {
lv_allUnitsAreCargoOrDead = false;
- if ((libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(41)) == true) && (UnitIsAlive(gv_herculesUnit) == true)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(null, gv_herculesUnit), c_orderQueueReplace);
+ if ((libNtve_gf_UnitInRegion(auto4EE0289E_var, RegionFromId(41)) == true) && (UnitIsAlive(gv_herculesUnit) == true)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto4EE0289E_var, libNCMI_ge_StealthAIUnitState_Unavailable);
+ UnitIssueOrder(auto4EE0289E_var, OrderTargetingUnit(null, gv_herculesUnit), c_orderQueueReplace);
}
}
}
- UnitGroupLoopEnd();
if ((lv_allUnitsAreCargoOrDead == true)) {
TriggerEnable(TriggerGetCurrent(), false);
if ((UnitIsAlive(gv_herculesUnit) == true)) {
@@ -5711,6 +6166,17 @@ bool gt_S3BuildingCollapse_Func (bool testConds, bool runActions) {
int lv_lingCount2;
int lv_lingCycle2;
+ // Automatic Variable Declarations
+ unitgroup auto7965A82D_g;
+ int auto7965A82D_u;
+ unit auto7965A82D_var;
+ unitgroup autoD8041966_g;
+ int autoD8041966_u;
+ unit autoD8041966_var;
+ unitgroup autoF43CBF46_g;
+ int autoF43CBF46_u;
+ unit autoF43CBF46_var;
+
// Variable Initialization
lv_zerglingGroup = UnitGroupEmpty();
lv_zerglingGroup2 = UnitGroupEmpty();
@@ -5751,11 +6217,13 @@ bool gt_S3BuildingCollapse_Func (bool testConds, bool runActions) {
libNCMI_gf_StealthAIMakeGhostLookBetween2Angles(UnitFromId(663), 135.0, 90.0, 4.0);
}
- UnitGroupLoopBegin(UnitGroup("PathingBlocker4x4Diagonal", c_playerAny, RegionFromId(107), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto7965A82D_g = UnitGroup("PathingBlocker4x4Diagonal", c_playerAny, RegionFromId(107), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto7965A82D_u = UnitGroupCount(auto7965A82D_g, c_unitCountAll);
+ for (;; auto7965A82D_u -= 1) {
+ auto7965A82D_var = UnitGroupUnitFromEnd(auto7965A82D_g, auto7965A82D_u);
+ if (auto7965A82D_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto7965A82D_var, false);
}
- UnitGroupLoopEnd();
UnitIssueOrder(UnitFromId(936), Order(AbilityCommand("CollapsingBuildingSWCollapsed", 0)), c_orderQueueReplace);
SoundPlayAtPointForPlayer(SoundLink("Event_Nova03_BuildingCrumble", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(UnitFromId(936)), 0.0, 100.0, 0.0);
SoundPlayAtPointForPlayer(SoundLink("Event_Nova03_BuildingCrumbleDebris", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(UnitFromId(936)), 0.0, 100.0, 0.0);
@@ -5786,12 +6254,14 @@ bool gt_S3BuildingCollapse_Func (bool testConds, bool runActions) {
}
libNtve_gf_CreateUnitsAtPoint2(lv_lingCount, "Zergling", 0, gv_pLAYER_08_FERALZERG_INSIDE, PointFromId(956));
UnitGroupAddUnitGroup(gv_s3_ZerglingTrickleUnitGroup, UnitLastCreatedGroup());
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(84))), c_orderQueueReplace);
- gf_S3ZergWanderAfterDelay(UnitGroupLoopCurrent(), RandomFixed(6.0, 9.0));
+ autoD8041966_g = UnitLastCreatedGroup();
+ autoD8041966_u = UnitGroupCount(autoD8041966_g, c_unitCountAll);
+ for (;; autoD8041966_u -= 1) {
+ autoD8041966_var = UnitGroupUnitFromEnd(autoD8041966_g, autoD8041966_u);
+ if (autoD8041966_var == null) { break; }
+ UnitIssueOrder(autoD8041966_var, OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(84))), c_orderQueueReplace);
+ gf_S3ZergWanderAfterDelay(autoD8041966_var, RandomFixed(6.0, 9.0));
}
- UnitGroupLoopEnd();
Wait(6.0, c_timeGame);
}
else {
@@ -5812,12 +6282,14 @@ bool gt_S3BuildingCollapse_Func (bool testConds, bool runActions) {
}
libNtve_gf_CreateUnitsAtPoint2(lv_lingCount2, "Zergling", 0, gv_pLAYER_08_FERALZERG_INSIDE, PointFromId(956));
UnitGroupAddUnitGroup(gv_s3_ZerglingTrickleUnitGroup2, UnitLastCreatedGroup());
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), RegionRandomPoint(RegionFromId(110))), c_orderQueueReplace);
- gf_S3ZergWanderAfterDelay(UnitGroupLoopCurrent(), RandomFixed(20.0, 24.0));
+ autoF43CBF46_g = UnitLastCreatedGroup();
+ autoF43CBF46_u = UnitGroupCount(autoF43CBF46_g, c_unitCountAll);
+ for (;; autoF43CBF46_u -= 1) {
+ autoF43CBF46_var = UnitGroupUnitFromEnd(autoF43CBF46_g, autoF43CBF46_u);
+ if (autoF43CBF46_var == null) { break; }
+ UnitIssueOrder(autoF43CBF46_var, OrderTargetingPoint(AbilityCommand("move", 0), RegionRandomPoint(RegionFromId(110))), c_orderQueueReplace);
+ gf_S3ZergWanderAfterDelay(autoF43CBF46_var, RandomFixed(20.0, 24.0));
}
- UnitGroupLoopEnd();
}
}
@@ -5834,6 +6306,7 @@ void gt_S3BuildingCollapse_Init () {
// Trigger: S3 - Building Collapse Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3BuildingCollapseTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5876,6 +6349,7 @@ void gt_S3BuildingCollapseTransmissionQ_Init () {
// Trigger: S3 - Building Collapse Initial Group
//--------------------------------------------------------------------------------------------------
bool gt_S3BuildingCollapseInitialGroup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5917,6 +6391,7 @@ void gt_S3BuildingCollapseInitialGroup_Init () {
// Trigger: S3 - Building Collapse Medics Fall Back
//--------------------------------------------------------------------------------------------------
bool gt_S3BuildingCollapseMedicsFallBack_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5976,6 +6451,11 @@ void gt_S3BuildingCollapseMedicsFallBack_Init () {
// Trigger: S3 - Building Collapse Ghost In Combat
//--------------------------------------------------------------------------------------------------
bool gt_S3BuildingCollapseGhostInCombat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto21BB1B8E_g;
+ int auto21BB1B8E_u;
+ unit auto21BB1B8E_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6000,21 +6480,23 @@ bool gt_S3BuildingCollapseGhostInCombat_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(101), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "GhostDetectorCone") || (UnitGetType(UnitGroupLoopCurrent()) == "GhostAlternateDetectorCone"))) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
+ auto21BB1B8E_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(101), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto21BB1B8E_u = UnitGroupCount(auto21BB1B8E_g, c_unitCountAll);
+ for (;; auto21BB1B8E_u -= 1) {
+ auto21BB1B8E_var = UnitGroupUnitFromEnd(auto21BB1B8E_g, auto21BB1B8E_u);
+ if (auto21BB1B8E_var == null) { break; }
+ if (((UnitGetType(auto21BB1B8E_var) == "GhostDetectorCone") || (UnitGetType(auto21BB1B8E_var) == "GhostAlternateDetectorCone"))) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto21BB1B8E_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto21BB1B8E_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto21BB1B8E_var, libNCMI_ge_StealthAIUnitState_Unavailable);
+ UnitIssueOrder(auto21BB1B8E_var, Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
+ UnitIssueOrder(auto21BB1B8E_var, Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
}
- else if ((libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((libNCMI_gf_StealthAIGetStealthAIUnitState(auto21BB1B8E_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto21BB1B8E_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -6029,6 +6511,7 @@ void gt_S3BuildingCollapseGhostInCombat_Init () {
// Trigger: S3 - Units Run To Outside Shuttles Q
//--------------------------------------------------------------------------------------------------
bool gt_S3UnitsRunToOutsideShuttlesQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6081,6 +6564,7 @@ bool gt_S3NovaEntersOutsideShuttlesRevealer_Func (bool testConds, bool runAction
unit lv_herculesUnit01;
unit lv_herculesUnit02;
+ // Automatic Variable Declarations
// Variable Initialization
lv_herculesUnit01 = UnitFromId(865);
lv_herculesUnit02 = UnitFromId(1223);
@@ -6139,6 +6623,7 @@ void gt_S3NovaEntersOutsideShuttlesRevealer_Init () {
// Trigger: S3 - Outside Shuttles Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3OutsideShuttlesTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6187,6 +6672,26 @@ bool gt_S3NydusInTheAtrium_Func (bool testConds, bool runActions) {
int lv_lingCount;
int lv_lingCycle;
+ // Automatic Variable Declarations
+ unitgroup autoA08928C4_g;
+ int autoA08928C4_u;
+ unit autoA08928C4_var;
+ unitgroup autoD2F84D78_g;
+ int autoD2F84D78_u;
+ unit autoD2F84D78_var;
+ unitgroup autoA8BEA43B_g;
+ int autoA8BEA43B_u;
+ unit autoA8BEA43B_var;
+ unitgroup auto32D90B26_g;
+ int auto32D90B26_u;
+ unit auto32D90B26_var;
+ unitgroup autoD8A4BD67_g;
+ int autoD8A4BD67_u;
+ unit autoD8A4BD67_var;
+ unitgroup auto8B7E2377_g;
+ int auto8B7E2377_u;
+ unit auto8B7E2377_var;
+
// Variable Initialization
lv_nydusKillGroup = UnitGroupEmpty();
@@ -6218,15 +6723,17 @@ bool gt_S3NydusInTheAtrium_Func (bool testConds, bool runActions) {
TriggerEnable(gt_S3BuildingCollapseGhostInCombat, false);
TriggerEnable(gt_S3NydusInTheAtriumGhostInCombat, true);
TriggerExecute(gt_S3NydusInTheAtriumTransmissionQ, true, false);
- UnitGroupLoopBegin(gv_s3_AtriumTerrans);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("move", 2)), c_orderQueueReplace);
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "Signal GuideShow");
- }
- UnitGroupLoopEnd();
+ autoA08928C4_g = gv_s3_AtriumTerrans;
+ autoA08928C4_u = UnitGroupCount(autoA08928C4_g, c_unitCountAll);
+ for (;; autoA08928C4_u -= 1) {
+ autoA08928C4_var = UnitGroupUnitFromEnd(autoA08928C4_g, autoA08928C4_u);
+ if (autoA08928C4_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoA08928C4_var, true);
+ libNtve_gf_PauseUnit(autoA08928C4_var, false);
+ libNtve_gf_ChangeUnitDamage(autoA08928C4_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
+ UnitIssueOrder(autoA08928C4_var, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
+ libNtve_gf_SendActorMessageToUnit(autoA08928C4_var, "Signal GuideShow");
+ }
libNCMI_gf_StealthAISetStealthAIDefendRegionState(RegionFromId(102), libNCMI_ge_StealthAIDefendRegionState_Active);
if ((libLotv_gf_DifficultyValueInt2(0, 0, 0, 1) == 1)) {
libNCMI_gf_StealthAIMakeGhostLookBetween2Angles(UnitFromId(864), 45.0, 90.0, 4.0);
@@ -6238,27 +6745,35 @@ bool gt_S3NydusInTheAtrium_Func (bool testConds, bool runActions) {
SoundPlayForPlayer(SoundLink("Event_Nova03_NydusBirth", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
lv_nydusKillGroup = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(76), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
UnitGroupRemove(lv_nydusKillGroup, UnitFromId(979));
- UnitGroupLoopBegin(UnitGroup("PathingBlocker4x4Diagonal", c_playerAny, RegionFromId(107), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
+ autoD2F84D78_g = UnitGroup("PathingBlocker4x4Diagonal", c_playerAny, RegionFromId(107), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoD2F84D78_u = UnitGroupCount(autoD2F84D78_g, c_unitCountAll);
+ for (;; autoD2F84D78_u -= 1) {
+ autoD2F84D78_var = UnitGroupUnitFromEnd(autoD2F84D78_g, autoD2F84D78_u);
+ if (autoD2F84D78_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoD2F84D78_var, true);
+ }
+ autoA8BEA43B_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(107), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA8BEA43B_u = UnitGroupCount(autoA8BEA43B_g, c_unitCountAll);
+ for (;; autoA8BEA43B_u -= 1) {
+ autoA8BEA43B_var = UnitGroupUnitFromEnd(autoA8BEA43B_g, autoA8BEA43B_u);
+ if (autoA8BEA43B_var == null) { break; }
+ UnitKill(autoA8BEA43B_var);
+ }
+ auto32D90B26_g = UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(107), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto32D90B26_u = UnitGroupCount(auto32D90B26_g, c_unitCountAll);
+ for (;; auto32D90B26_u -= 1) {
+ auto32D90B26_var = UnitGroupUnitFromEnd(auto32D90B26_g, auto32D90B26_u);
+ if (auto32D90B26_var == null) { break; }
+ UnitKill(auto32D90B26_var);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(107), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(107), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
Wait(1.0, c_timeGame);
- UnitGroupLoopBegin(lv_nydusKillGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
+ autoD8A4BD67_g = lv_nydusKillGroup;
+ autoD8A4BD67_u = UnitGroupCount(autoD8A4BD67_g, c_unitCountAll);
+ for (;; autoD8A4BD67_u -= 1) {
+ autoD8A4BD67_var = UnitGroupUnitFromEnd(autoD8A4BD67_g, autoD8A4BD67_u);
+ if (autoD8A4BD67_var == null) { break; }
+ UnitKill(autoD8A4BD67_var);
}
- UnitGroupLoopEnd();
Wait(3.0, c_timeGame);
while ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false)) {
if ((UnitGroupCount(gv_s3_AtriumZerg, c_unitCountAlive) <= 30)) {
@@ -6277,12 +6792,14 @@ bool gt_S3NydusInTheAtrium_Func (bool testConds, bool runActions) {
ActorSend(ActorFromDoodad(DoodadFromId(1084)), "Signal Work");
libNtve_gf_CreateUnitsWithDefaultFacing(lv_lingCount, "Zergling", 0, gv_pLAYER_08_FERALZERG_INSIDE, PointFromId(1089));
UnitGroupAddUnitGroup(gv_s3_AtriumZerg, UnitLastCreatedGroup());
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_S3ZergWanderAfterDelay(UnitGroupLoopCurrent(), RandomFixed(2.0, 6.0));
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(59))), c_orderQueueReplace);
+ auto8B7E2377_g = UnitLastCreatedGroup();
+ auto8B7E2377_u = UnitGroupCount(auto8B7E2377_g, c_unitCountAll);
+ for (;; auto8B7E2377_u -= 1) {
+ auto8B7E2377_var = UnitGroupUnitFromEnd(auto8B7E2377_g, auto8B7E2377_u);
+ if (auto8B7E2377_var == null) { break; }
+ gf_S3ZergWanderAfterDelay(auto8B7E2377_var, RandomFixed(2.0, 6.0));
+ UnitIssueOrder(auto8B7E2377_var, OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(59))), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
Wait(4.0, c_timeGame);
}
else {
@@ -6302,6 +6819,7 @@ void gt_S3NydusInTheAtrium_Init () {
// Trigger: S3 - Nydus In The Atrium Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3NydusInTheAtriumTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6359,6 +6877,7 @@ bool gt_S3NydusInTheAtriumShuttles_Func (bool testConds, bool runActions) {
unit lv_hercules03;
unit lv_hercules04;
+ // Automatic Variable Declarations
// Variable Initialization
lv_transportGroup03 = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(61), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
lv_hercules03 = UnitFromId(111);
@@ -6407,6 +6926,11 @@ void gt_S3NydusInTheAtriumShuttles_Init () {
// Trigger: S3 - Nydus In The Atrium Ghost In Combat
//--------------------------------------------------------------------------------------------------
bool gt_S3NydusInTheAtriumGhostInCombat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto859CDE69_g;
+ int auto859CDE69_u;
+ unit auto859CDE69_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6431,32 +6955,34 @@ bool gt_S3NydusInTheAtriumGhostInCombat_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(102), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "GhostDetectorCone") || (UnitGetType(UnitGroupLoopCurrent()) == "GhostAlternateDetectorCone"))) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
+ auto859CDE69_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(102), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto859CDE69_u = UnitGroupCount(auto859CDE69_g, c_unitCountAll);
+ for (;; auto859CDE69_u -= 1) {
+ auto859CDE69_var = UnitGroupUnitFromEnd(auto859CDE69_g, auto859CDE69_u);
+ if (auto859CDE69_var == null) { break; }
+ if (((UnitGetType(auto859CDE69_var) == "GhostDetectorCone") || (UnitGetType(auto859CDE69_var) == "GhostAlternateDetectorCone"))) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto859CDE69_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto859CDE69_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto859CDE69_var, libNCMI_ge_StealthAIUnitState_Unavailable);
+ UnitIssueOrder(auto859CDE69_var, Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
+ UnitIssueOrder(auto859CDE69_var, Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
}
- else if ((libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((libNCMI_gf_StealthAIGetStealthAIUnitState(auto859CDE69_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto859CDE69_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
- if (((UnitGetType(UnitGroupLoopCurrent()) == "Marauder") || (UnitGetType(UnitGroupLoopCurrent()) == "Separatist"))) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
+ if (((UnitGetType(auto859CDE69_var) == "Marauder") || (UnitGetType(auto859CDE69_var) == "Separatist"))) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto859CDE69_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto859CDE69_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto859CDE69_var, libNCMI_ge_StealthAIUnitState_Unavailable);
+ UnitIssueOrder(auto859CDE69_var, Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
+ UnitIssueOrder(auto859CDE69_var, Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
}
- else if ((libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((libNCMI_gf_StealthAIGetStealthAIUnitState(auto859CDE69_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto859CDE69_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -6471,6 +6997,11 @@ void gt_S3NydusInTheAtriumGhostInCombat_Init () {
// Trigger: S3 - Nova Enters Zerg Run Down Hallway
//--------------------------------------------------------------------------------------------------
bool gt_S3NovaEntersZergRunDownHallway_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoCB9514CD_g;
+ int autoCB9514CD_u;
+ unit autoCB9514CD_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6498,11 +7029,13 @@ bool gt_S3NovaEntersZergRunDownHallway_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
UnitGroupIssueOrder(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), OrderTargetingPoint(AbilityCommand("attack", 0), PointFromId(861)), c_orderQueueReplace);
UnitGroupIssueOrder(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(2307)), c_orderQueueAddToEnd);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_S3ZergWanderAfterDelay(UnitGroupLoopCurrent(), 20.0);
+ autoCB9514CD_g = UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoCB9514CD_u = UnitGroupCount(autoCB9514CD_g, c_unitCountAll);
+ for (;; autoCB9514CD_u -= 1) {
+ autoCB9514CD_var = UnitGroupUnitFromEnd(autoCB9514CD_g, autoCB9514CD_u);
+ if (autoCB9514CD_var == null) { break; }
+ gf_S3ZergWanderAfterDelay(autoCB9514CD_var, 20.0);
}
- UnitGroupLoopEnd();
return true;
}
@@ -6516,6 +7049,11 @@ void gt_S3NovaEntersZergRunDownHallway_Init () {
// Trigger: S3 - Zerged Up Room
//--------------------------------------------------------------------------------------------------
bool gt_S3ZergedUpRoom_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto40336E87_g;
+ int auto40336E87_u;
+ unit auto40336E87_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6541,14 +7079,16 @@ bool gt_S3ZergedUpRoom_Func (bool testConds, bool runActions) {
}
TriggerEnable(TriggerGetCurrent(), false);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(60), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "Overseer")) {
- gf_S3ZergWanderAfterDelay(UnitGroupLoopCurrent(), RandomFixed(2.0, 4.0));
+ auto40336E87_g = UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionFromId(60), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto40336E87_u = UnitGroupCount(auto40336E87_g, c_unitCountAll);
+ for (;; auto40336E87_u -= 1) {
+ auto40336E87_var = UnitGroupUnitFromEnd(auto40336E87_g, auto40336E87_u);
+ if (auto40336E87_var == null) { break; }
+ if ((UnitGetType(auto40336E87_var) != "Overseer")) {
+ gf_S3ZergWanderAfterDelay(auto40336E87_var, RandomFixed(2.0, 4.0));
}
}
- UnitGroupLoopEnd();
TriggerExecute(gt_S3ZergedUpRoomTransmissionQ, true, false);
Wait(2.0, c_timeAI);
gf_S3OverseerPatrol2Points(UnitFromId(793), PointFromId(735), PointFromId(734), libLotv_gf_DifficultyValueFixed2(9.0, 9.0, 5.0, 2.0));
@@ -6567,6 +7107,7 @@ void gt_S3ZergedUpRoom_Init () {
// Trigger: S3 - Zerged Up Room Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3ZergedUpRoomTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6610,6 +7151,14 @@ void gt_S3ZergedUpRoomTransmissionQ_Init () {
// Trigger: S3 - Nova Enters Final Room Q
//--------------------------------------------------------------------------------------------------
bool gt_S3NovaEntersFinalRoomQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto7ADFAE11_g;
+ int auto7ADFAE11_u;
+ unit auto7ADFAE11_var;
+ unitgroup auto6DC24D9C_g;
+ int auto6DC24D9C_u;
+ unit auto6DC24D9C_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6651,18 +7200,22 @@ bool gt_S3NovaEntersFinalRoomQ_Func (bool testConds, bool runActions) {
UnitCargoCreate(UnitFromId(992), "Separatist", 4);
UnitCargoCreate(UnitFromId(81), "Separatist", 4);
UnitIssueOrder(UnitFromId(72), Order(AbilityCommand("move", 2)), c_orderQueueReplace);
- UnitGroupLoopBegin(gv_s3_FinalRoomTerrans);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_s3_FinalRoomZerg);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
- }
- UnitGroupLoopEnd();
+ auto7ADFAE11_g = gv_s3_FinalRoomTerrans;
+ auto7ADFAE11_u = UnitGroupCount(auto7ADFAE11_g, c_unitCountAll);
+ for (;; auto7ADFAE11_u -= 1) {
+ auto7ADFAE11_var = UnitGroupUnitFromEnd(auto7ADFAE11_g, auto7ADFAE11_u);
+ if (auto7ADFAE11_var == null) { break; }
+ libNtve_gf_PauseUnit(auto7ADFAE11_var, false);
+ libNtve_gf_ChangeUnitDamage(auto7ADFAE11_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
+ }
+ auto6DC24D9C_g = gv_s3_FinalRoomZerg;
+ auto6DC24D9C_u = UnitGroupCount(auto6DC24D9C_g, c_unitCountAll);
+ for (;; auto6DC24D9C_u -= 1) {
+ auto6DC24D9C_var = UnitGroupUnitFromEnd(auto6DC24D9C_g, auto6DC24D9C_u);
+ if (auto6DC24D9C_var == null) { break; }
+ libNtve_gf_PauseUnit(auto6DC24D9C_var, false);
+ libNtve_gf_ChangeUnitDamage(auto6DC24D9C_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
+ }
TriggerQueueEnter();
if ((UnitIsAlive(UnitFromId(72)) == true)) {
libComC_gf_SetAllSoundChannelVolumesCampaign(libComC_ge_VolumeChannelModeCampaign_Speech);
@@ -6701,6 +7254,7 @@ bool gt_S3FinalRoomZergTrickle_Func (bool testConds, bool runActions) {
int lv_lingCount;
int lv_lingCycle;
+ // Automatic Variable Declarations
// Variable Initialization
lv_zerglingGroup = UnitGroupEmpty();
@@ -6773,6 +7327,14 @@ void gt_S3FinalRoomZergTrickle_Init () {
// Trigger: S3 - Final Room Ghosts And Troopers In Combat
//--------------------------------------------------------------------------------------------------
bool gt_S3FinalRoomGhostsAndTroopersInCombat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto744D6430_g;
+ int auto744D6430_u;
+ unit auto744D6430_var;
+ unitgroup autoC16C12D6_g;
+ int autoC16C12D6_u;
+ unit autoC16C12D6_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6797,54 +7359,58 @@ bool gt_S3FinalRoomGhostsAndTroopersInCombat_Func (bool testConds, bool runActio
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(97), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "GhostDetectorCone") || (UnitGetType(UnitGroupLoopCurrent()) == "GhostAlternateDetectorCone"))) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
+ auto744D6430_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(97), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto744D6430_u = UnitGroupCount(auto744D6430_g, c_unitCountAll);
+ for (;; auto744D6430_u -= 1) {
+ auto744D6430_var = UnitGroupUnitFromEnd(auto744D6430_g, auto744D6430_u);
+ if (auto744D6430_var == null) { break; }
+ if (((UnitGetType(auto744D6430_var) == "GhostDetectorCone") || (UnitGetType(auto744D6430_var) == "GhostAlternateDetectorCone"))) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto744D6430_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto744D6430_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto744D6430_var, libNCMI_ge_StealthAIUnitState_Unavailable);
+ UnitIssueOrder(auto744D6430_var, Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
+ UnitIssueOrder(auto744D6430_var, Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
}
- else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto744D6430_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto744D6430_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto744D6430_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
- if ((UnitGetType(UnitGroupLoopCurrent()) == "Separatist")) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
+ if ((UnitGetType(auto744D6430_var) == "Separatist")) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto744D6430_var), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto744D6430_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto744D6430_var, libNCMI_ge_StealthAIUnitState_Unavailable);
}
- else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(auto744D6430_var), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(auto744D6430_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(auto744D6430_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(44), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "GhostDetectorCone") || (UnitGetType(UnitGroupLoopCurrent()) == "GhostAlternateDetectorCone"))) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
+ autoC16C12D6_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, RegionFromId(44), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC16C12D6_u = UnitGroupCount(autoC16C12D6_g, c_unitCountAll);
+ for (;; autoC16C12D6_u -= 1) {
+ autoC16C12D6_var = UnitGroupUnitFromEnd(autoC16C12D6_g, autoC16C12D6_u);
+ if (autoC16C12D6_var == null) { break; }
+ if (((UnitGetType(autoC16C12D6_var) == "GhostDetectorCone") || (UnitGetType(autoC16C12D6_var) == "GhostAlternateDetectorCone"))) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(autoC16C12D6_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(autoC16C12D6_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(autoC16C12D6_var, libNCMI_ge_StealthAIUnitState_Unavailable);
+ UnitIssueOrder(autoC16C12D6_var, Order(AbilityCommand("GhostDetetorConeExit", 0)), c_orderQueueReplace);
+ UnitIssueOrder(autoC16C12D6_var, Order(AbilityCommand("GhostAlternateDetetorConeExit", 0)), c_orderQueueReplace);
}
- else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(autoC16C12D6_var), 6.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(autoC16C12D6_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(autoC16C12D6_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
- if ((UnitGetType(UnitGroupLoopCurrent()) == "Separatist")) {
- if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Idle)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Unavailable);
+ if ((UnitGetType(autoC16C12D6_var) == "Separatist")) {
+ if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(autoC16C12D6_var), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) > 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(autoC16C12D6_var) == libNCMI_ge_StealthAIUnitState_Idle)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(autoC16C12D6_var, libNCMI_ge_StealthAIUnitState_Unavailable);
}
- else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(UnitGroupLoopCurrent()) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
- libNCMI_gf_StealthAISetStealthAIUnitState(UnitGroupLoopCurrent(), libNCMI_ge_StealthAIUnitState_Idle);
+ else if ((UnitGroupCount(UnitGroup(null, gv_pLAYER_08_FERALZERG_INSIDE, RegionCircle(UnitGetPosition(autoC16C12D6_var), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 1), c_unitCountAlive) == 0) && (libNCMI_gf_StealthAIGetStealthAIUnitState(autoC16C12D6_var) == libNCMI_ge_StealthAIUnitState_Unavailable)) {
+ libNCMI_gf_StealthAISetStealthAIUnitState(autoC16C12D6_var, libNCMI_ge_StealthAIUnitState_Idle);
}
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -6859,6 +7425,7 @@ void gt_S3FinalRoomGhostsAndTroopersInCombat_Init () {
// Trigger: S3 - Final Room Thor Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_S3FinalRoomThorTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6901,6 +7468,7 @@ void gt_S3FinalRoomThorTransmissionQ_Init () {
// Trigger: Defeat Base Dead
//--------------------------------------------------------------------------------------------------
bool gt_DefeatBaseDead_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -6947,6 +7515,7 @@ void gt_DefeatBaseDead_Init () {
// Trigger: Defeat Nova Dead
//--------------------------------------------------------------------------------------------------
bool gt_DefeatNovaDead_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -7001,6 +7570,7 @@ void gt_DefeatNovaDead_Init () {
// Trigger: Defeat Catch Station Officer Failed
//--------------------------------------------------------------------------------------------------
bool gt_DefeatCatchStationOfficerFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7034,6 +7604,7 @@ void gt_DefeatCatchStationOfficerFailed_Init () {
// Trigger: Victory Catch Station Officer Completed
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCatchStationOfficerCompleted_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7077,6 +7648,7 @@ void gt_VictoryCatchStationOfficerCompleted_Init () {
// Trigger: Victory Sequence
//--------------------------------------------------------------------------------------------------
bool gt_VictorySequence_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7109,6 +7681,7 @@ void gt_VictorySequence_Init () {
// Trigger: Victory
//--------------------------------------------------------------------------------------------------
bool gt_Victory_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7151,6 +7724,7 @@ void gt_Victory_Init () {
// Trigger: Defeat
//--------------------------------------------------------------------------------------------------
bool gt_Defeat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7177,6 +7751,7 @@ void gt_Defeat_Init () {
// Trigger: Victory Cheat
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7205,6 +7780,7 @@ void gt_VictoryCheat_Init () {
// Trigger: Defeat Cheat
//--------------------------------------------------------------------------------------------------
bool gt_DefeatCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7233,6 +7809,7 @@ void gt_DefeatCheat_Init () {
// Trigger: Victory Stat - DOM Kills
//--------------------------------------------------------------------------------------------------
bool gt_VictoryStatDOMKills_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7273,6 +7850,7 @@ void gt_VictoryStatDOMKills_Init () {
// Trigger: Victory Stat - Supply Tracker
//--------------------------------------------------------------------------------------------------
bool gt_VictoryStatSupplyTracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7315,6 +7893,7 @@ void gt_VictoryStatSupplyTracker_Init () {
// Trigger: Achievement - Bunker Rush
//--------------------------------------------------------------------------------------------------
bool gt_AchievementBunkerRush_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7353,10 +7932,58 @@ void gt_AchievementBunkerRush_Init () {
gt_AchievementBunkerRush = TriggerCreate("gt_AchievementBunkerRush_Func");
}
+//--------------------------------------------------------------------------------------------------
+// Trigger: Achievement - Filled five garrisons within 10 minutes
+//--------------------------------------------------------------------------------------------------
+bool gt_AchievementFilledfivegarrisonswithin10minutes_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ // Conditions
+ if (testConds) {
+ if (!((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1))) {
+ return false;
+ }
+
+ if (!((libNCMI_gf_GameIsOver() == false))) {
+ return false;
+ }
+
+ if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
+ return false;
+ }
+
+ if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
+ return false;
+ }
+
+ if (!((GameGetMissionTime() <= (10.0 * 60.0)))) {
+ return false;
+ }
+
+ if (!((gv_objectiveFillGarrisonsCount >= 5))) {
+ return false;
+ }
+ }
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(TriggerGetCurrent(), false);
+ libComC_gf_CampaignAwardAchievement("Anniversary_Nova03", gv_pLAYER_01_USER);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_AchievementFilledfivegarrisonswithin10minutes_Init () {
+ gt_AchievementFilledfivegarrisonswithin10minutes = TriggerCreate("gt_AchievementFilledfivegarrisonswithin10minutes_Func");
+}
+
//--------------------------------------------------------------------------------------------------
// Trigger: Tip Ready Q
//--------------------------------------------------------------------------------------------------
bool gt_TipReadyQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -7394,6 +8021,7 @@ void gt_TipReadyQ_Init () {
// Trigger: Start AI
//--------------------------------------------------------------------------------------------------
bool gt_StartAI_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -7437,6 +8065,12 @@ void gt_StartAI_Init () {
// Trigger: AI Upgrades - Casual/Normal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradesCasualNormal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto01CE179A_g;
+ int auto01CE179A_var;
+ playergroup auto604A7096_g;
+ int auto604A7096_var;
+
// Actions
if (!runActions) {
return true;
@@ -7444,25 +8078,29 @@ bool gt_AIUpgradesCasualNormal_Func (bool testConds, bool runActions) {
Wait(720.0, c_timeAI);
if ((gv_currentStage == 1)) {
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
+ auto01CE179A_g = gv_enemyZergPlayersStage01;
+ auto01CE179A_var = -1;
+ while (true) {
+ auto01CE179A_var = PlayerGroupNextPlayer(auto01CE179A_g, auto01CE179A_var);
+ if (auto01CE179A_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto01CE179A_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto01CE179A_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto01CE179A_var, "ZergMissileWeaponsLevel1", 1);
}
- PlayerGroupLoopEnd();
}
else {
return true;
}
Wait(360.0, c_timeAI);
if ((gv_currentStage == 1)) {
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
+ auto604A7096_g = gv_enemyZergPlayersStage01;
+ auto604A7096_var = -1;
+ while (true) {
+ auto604A7096_var = PlayerGroupNextPlayer(auto604A7096_g, auto604A7096_var);
+ if (auto604A7096_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto604A7096_var, "ZergFlyerArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto604A7096_var, "ZergGroundArmorsLevel1", 1);
}
- PlayerGroupLoopEnd();
}
else {
return true;
@@ -7479,6 +8117,14 @@ void gt_AIUpgradesCasualNormal_Init () {
// Trigger: AI Upgrades - Hard/Brutal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradesHardBrutal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoAA4CB5DD_g;
+ int autoAA4CB5DD_var;
+ playergroup auto3596E144_g;
+ int auto3596E144_var;
+ playergroup autoA871D6D4_g;
+ int autoA871D6D4_var;
+
// Actions
if (!runActions) {
return true;
@@ -7489,36 +8135,42 @@ bool gt_AIUpgradesHardBrutal_Func (bool testConds, bool runActions) {
TechTreeUpgradeAddLevel(gv_pLAYER_08_FERALZERG_INSIDE, "ZergFlyerWeaponsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_08_FERALZERG_INSIDE, "ZergMeleeWeaponsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_08_FERALZERG_INSIDE, "ZergMissileWeaponsLevel1", 1);
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- }
- PlayerGroupLoopEnd();
+ autoAA4CB5DD_g = gv_enemyZergPlayersStage01;
+ autoAA4CB5DD_var = -1;
+ while (true) {
+ autoAA4CB5DD_var = PlayerGroupNextPlayer(autoAA4CB5DD_g, autoAA4CB5DD_var);
+ if (autoAA4CB5DD_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoAA4CB5DD_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoAA4CB5DD_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoAA4CB5DD_var, "ZergMissileWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoAA4CB5DD_var, "ZergFlyerArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoAA4CB5DD_var, "ZergGroundArmorsLevel1", 1);
+ }
Wait(480.0, c_timeAI);
if ((gv_currentStage == 1)) {
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel2", 1);
+ auto3596E144_g = gv_enemyZergPlayersStage01;
+ auto3596E144_var = -1;
+ while (true) {
+ auto3596E144_var = PlayerGroupNextPlayer(auto3596E144_g, auto3596E144_var);
+ if (auto3596E144_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto3596E144_var, "ZergFlyerWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto3596E144_var, "ZergMeleeWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto3596E144_var, "ZergMissileWeaponsLevel2", 1);
}
- PlayerGroupLoopEnd();
}
else {
return true;
}
Wait(480.0, c_timeAI);
if ((gv_currentStage == 1)) {
- PlayerGroupLoopBegin(gv_enemyZergPlayersStage01);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel2", 1);
+ autoA871D6D4_g = gv_enemyZergPlayersStage01;
+ autoA871D6D4_var = -1;
+ while (true) {
+ autoA871D6D4_var = PlayerGroupNextPlayer(autoA871D6D4_g, autoA871D6D4_var);
+ if (autoA871D6D4_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoA871D6D4_var, "ZergFlyerArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(autoA871D6D4_var, "ZergGroundArmorsLevel2", 1);
}
- PlayerGroupLoopEnd();
}
else {
return true;
@@ -7535,6 +8187,14 @@ void gt_AIUpgradesHardBrutal_Init () {
// Trigger: S1 - Kill Eggs And Larvae
//--------------------------------------------------------------------------------------------------
bool gt_S1KillEggsAndLarvae_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoB97A691B_g;
+ int autoB97A691B_u;
+ unit autoB97A691B_var;
+ unitgroup auto1E7CAE3E_g;
+ int auto1E7CAE3E_u;
+ unit auto1E7CAE3E_var;
+
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7559,16 +8219,20 @@ bool gt_S1KillEggsAndLarvae_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup("Larva", UnitGetOwner(EventUnit()), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
+ autoB97A691B_g = UnitGroup("Larva", UnitGetOwner(EventUnit()), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoB97A691B_u = UnitGroupCount(autoB97A691B_g, c_unitCountAll);
+ for (;; autoB97A691B_u -= 1) {
+ autoB97A691B_var = UnitGroupUnitFromEnd(autoB97A691B_g, autoB97A691B_u);
+ if (autoB97A691B_var == null) { break; }
+ UnitKill(autoB97A691B_var);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Egg", UnitGetOwner(EventUnit()), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
+ auto1E7CAE3E_g = UnitGroup("Egg", UnitGetOwner(EventUnit()), RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto1E7CAE3E_u = UnitGroupCount(auto1E7CAE3E_g, c_unitCountAll);
+ for (;; auto1E7CAE3E_u -= 1) {
+ auto1E7CAE3E_var = UnitGroupUnitFromEnd(auto1E7CAE3E_g, auto1E7CAE3E_u);
+ if (auto1E7CAE3E_var == null) { break; }
+ UnitKill(auto1E7CAE3E_var);
}
- UnitGroupLoopEnd();
return true;
}
@@ -7582,35 +8246,52 @@ void gt_S1KillEggsAndLarvae_Init () {
// Trigger: S1 - Set Up Wave Spawn Region Bullies
//--------------------------------------------------------------------------------------------------
bool gt_S1SetUpWaveSpawnRegionBullies_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto3CF29B88_g;
+ int auto3CF29B88_u;
+ unit auto3CF29B88_var;
+ unitgroup auto34375AFE_g;
+ int auto34375AFE_u;
+ unit auto34375AFE_var;
+ unitgroup auto19AABFF4_g;
+ int auto19AABFF4_u;
+ unit auto19AABFF4_var;
+
// Actions
if (!runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionFromId(11), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "CreepTumor") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorBurrowed") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorQueen") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorUsed") && (UnitGetType(UnitGroupLoopCurrent()) != "Overseer")) {
- gf_S1TrackWaveSpawnBullyUnit(UnitGroupLoopCurrent(), RegionFromId(14), gv_pLAYER_03_FERALZERG_MIDDLEBULLIES);
+ auto3CF29B88_g = UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionFromId(11), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto3CF29B88_u = UnitGroupCount(auto3CF29B88_g, c_unitCountAll);
+ for (;; auto3CF29B88_u -= 1) {
+ auto3CF29B88_var = UnitGroupUnitFromEnd(auto3CF29B88_g, auto3CF29B88_u);
+ if (auto3CF29B88_var == null) { break; }
+ if ((UnitGetType(auto3CF29B88_var) != "CreepTumor") && (UnitGetType(auto3CF29B88_var) != "CreepTumorBurrowed") && (UnitGetType(auto3CF29B88_var) != "CreepTumorQueen") && (UnitGetType(auto3CF29B88_var) != "CreepTumorUsed") && (UnitGetType(auto3CF29B88_var) != "Overseer")) {
+ gf_S1TrackWaveSpawnBullyUnit(auto3CF29B88_var, RegionFromId(14), gv_pLAYER_03_FERALZERG_MIDDLEBULLIES);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_04_FERALZERG_RIGHTBULLIES, RegionFromId(10), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "CreepTumor") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorBurrowed") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorQueen") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorUsed") && (UnitGetType(UnitGroupLoopCurrent()) != "Overseer")) {
- gf_S1TrackWaveSpawnBullyUnit(UnitGroupLoopCurrent(), RegionFromId(15), gv_pLAYER_04_FERALZERG_RIGHTBULLIES);
+ auto34375AFE_g = UnitGroup(null, gv_pLAYER_04_FERALZERG_RIGHTBULLIES, RegionFromId(10), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto34375AFE_u = UnitGroupCount(auto34375AFE_g, c_unitCountAll);
+ for (;; auto34375AFE_u -= 1) {
+ auto34375AFE_var = UnitGroupUnitFromEnd(auto34375AFE_g, auto34375AFE_u);
+ if (auto34375AFE_var == null) { break; }
+ if ((UnitGetType(auto34375AFE_var) != "CreepTumor") && (UnitGetType(auto34375AFE_var) != "CreepTumorBurrowed") && (UnitGetType(auto34375AFE_var) != "CreepTumorQueen") && (UnitGetType(auto34375AFE_var) != "CreepTumorUsed") && (UnitGetType(auto34375AFE_var) != "Overseer")) {
+ gf_S1TrackWaveSpawnBullyUnit(auto34375AFE_var, RegionFromId(15), gv_pLAYER_04_FERALZERG_RIGHTBULLIES);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_05_FERALZERG_LEFTBULLIES, RegionFromId(12), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "CreepTumor") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorBurrowed") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorQueen") && (UnitGetType(UnitGroupLoopCurrent()) != "CreepTumorUsed") && (UnitGetType(UnitGroupLoopCurrent()) != "Overseer")) {
- gf_S1TrackWaveSpawnBullyUnit(UnitGroupLoopCurrent(), RegionFromId(17), gv_pLAYER_05_FERALZERG_LEFTBULLIES);
+ auto19AABFF4_g = UnitGroup(null, gv_pLAYER_05_FERALZERG_LEFTBULLIES, RegionFromId(12), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto19AABFF4_u = UnitGroupCount(auto19AABFF4_g, c_unitCountAll);
+ for (;; auto19AABFF4_u -= 1) {
+ auto19AABFF4_var = UnitGroupUnitFromEnd(auto19AABFF4_g, auto19AABFF4_u);
+ if (auto19AABFF4_var == null) { break; }
+ if ((UnitGetType(auto19AABFF4_var) != "CreepTumor") && (UnitGetType(auto19AABFF4_var) != "CreepTumorBurrowed") && (UnitGetType(auto19AABFF4_var) != "CreepTumorQueen") && (UnitGetType(auto19AABFF4_var) != "CreepTumorUsed") && (UnitGetType(auto19AABFF4_var) != "Overseer")) {
+ gf_S1TrackWaveSpawnBullyUnit(auto19AABFF4_var, RegionFromId(17), gv_pLAYER_05_FERALZERG_LEFTBULLIES);
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -7623,6 +8304,7 @@ void gt_S1SetUpWaveSpawnRegionBullies_Init () {
// Trigger: S1 - Turn On Lane Bully Building 01
//--------------------------------------------------------------------------------------------------
bool gt_S1TurnOnLaneBullyBuilding01_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -7647,6 +8329,7 @@ void gt_S1TurnOnLaneBullyBuilding01_Init () {
// Trigger: S1 - Turn On Lane Bully Building 02
//--------------------------------------------------------------------------------------------------
bool gt_S1TurnOnLaneBullyBuilding02_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -7671,6 +8354,7 @@ void gt_S1TurnOnLaneBullyBuilding02_Init () {
// Trigger: S1 - Apply Player Upgrades To Garrison Player
//--------------------------------------------------------------------------------------------------
bool gt_S1ApplyPlayerUpgradesToGarrisonPlayer_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7716,12 +8400,19 @@ void gt_S1ApplyPlayerUpgradesToGarrisonPlayer_Init () {
// Trigger: S1 - Attack Wave Overseer Returns Home
//--------------------------------------------------------------------------------------------------
bool gt_S1AttackWaveOverseerReturnsHome_Func (bool testConds, bool runActions) {
- int autoAA610672_val;
-
// Variable Declarations
unitgroup lv_overseerGroup;
unitgroup lv_waveGroup;
+ // Automatic Variable Declarations
+ unitgroup auto906EA19D_g;
+ int auto906EA19D_u;
+ unit auto906EA19D_var;
+ unitgroup autoBB695945_g;
+ int autoBB695945_u;
+ unit autoBB695945_var;
+ int autoAA610672_val;
+
// Variable Initialization
lv_overseerGroup = UnitGroupEmpty();
lv_waveGroup = UnitGroupEmpty();
@@ -7747,14 +8438,16 @@ bool gt_S1AttackWaveOverseerReturnsHome_Func (bool testConds, bool runActions) {
}
UnitGroupAddUnitGroup(lv_waveGroup, AIWaveGetUnits(EventPlayerWave()));
- UnitGroupLoopBegin(lv_waveGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) == "Overseer")) {
- UnitGroupAdd(lv_overseerGroup, UnitGroupLoopCurrent());
+ auto906EA19D_g = lv_waveGroup;
+ auto906EA19D_u = UnitGroupCount(auto906EA19D_g, c_unitCountAll);
+ for (;; auto906EA19D_u -= 1) {
+ auto906EA19D_var = UnitGroupUnitFromEnd(auto906EA19D_g, auto906EA19D_u);
+ if (auto906EA19D_var == null) { break; }
+ if ((UnitGetType(auto906EA19D_var) == "Overseer")) {
+ UnitGroupAdd(lv_overseerGroup, auto906EA19D_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_overseerGroup, c_unitCountAlive) > 0)) {
while (!(((libNCMI_gf_GameIsOver() == true) || (libNCMI_gf_PlayerInCinematicModeCampaign() == true) || (gv_currentStage != 1) || (UnitGroupCount(lv_overseerGroup, c_unitCountAlive) >= UnitGroupCount(lv_waveGroup, c_unitCountAlive))))) {
Wait(1.0, c_timeGame);
@@ -7763,22 +8456,24 @@ bool gt_S1AttackWaveOverseerReturnsHome_Func (bool testConds, bool runActions) {
return true;
}
else {
- UnitGroupLoopBegin(lv_overseerGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- autoAA610672_val = UnitGetOwner(UnitGroupLoopCurrent());
+ autoBB695945_g = lv_overseerGroup;
+ autoBB695945_u = UnitGroupCount(autoBB695945_g, c_unitCountAll);
+ for (;; autoBB695945_u -= 1) {
+ autoBB695945_var = UnitGroupUnitFromEnd(autoBB695945_g, autoBB695945_u);
+ if (autoBB695945_var == null) { break; }
+ autoAA610672_val = UnitGetOwner(autoBB695945_var);
if (autoAA610672_val == gv_pLAYER_09_FERALZERG_MIDDLEWAVES) {
- gf_S1MoveOverseerToMapEdgeAndDespawn(UnitGroupLoopCurrent(), PointFromId(481));
+ gf_S1MoveOverseerToMapEdgeAndDespawn(autoBB695945_var, PointFromId(481));
}
else if (autoAA610672_val == gv_pLAYER_10_FERALZERG_RIGHTWAVES) {
- gf_S1MoveOverseerToMapEdgeAndDespawn(UnitGroupLoopCurrent(), PointFromId(480));
+ gf_S1MoveOverseerToMapEdgeAndDespawn(autoBB695945_var, PointFromId(480));
}
else if (autoAA610672_val == gv_pLAYER_11_FERALZERG_LEFTWAVES) {
- gf_S1MoveOverseerToMapEdgeAndDespawn(UnitGroupLoopCurrent(), PointFromId(404));
+ gf_S1MoveOverseerToMapEdgeAndDespawn(autoBB695945_var, PointFromId(404));
}
else {
}
}
- UnitGroupLoopEnd();
}
}
@@ -7797,6 +8492,7 @@ void gt_S1AttackWaveOverseerReturnsHome_Init () {
// Trigger: S1 - First Zerg Attack Middle Q
//--------------------------------------------------------------------------------------------------
bool gt_S1FirstZergAttackMiddleQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7865,6 +8561,7 @@ void gt_S1FirstZergAttackMiddleQ_Init () {
// Trigger: S1 - First Zerg Attack Right Q
//--------------------------------------------------------------------------------------------------
bool gt_S1FirstZergAttackRightQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7932,6 +8629,7 @@ void gt_S1FirstZergAttackRightQ_Init () {
// Trigger: S1 - First Zerg Attack Left Q
//--------------------------------------------------------------------------------------------------
bool gt_S1FirstZergAttackLeftQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7996,6 +8694,7 @@ void gt_S1FirstZergAttackLeftQ_Init () {
// Trigger: S1 - First Zerg Attack Flyers Q
//--------------------------------------------------------------------------------------------------
bool gt_S1FirstZergAttackFlyersQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8042,6 +8741,7 @@ void gt_S1FirstZergAttackFlyersQ_Init () {
// Trigger: S1 - Zerg Firehose Garrison P03
//--------------------------------------------------------------------------------------------------
bool gt_S1ZergFirehoseGarrisonP03_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8098,6 +8798,7 @@ void gt_S1ZergFirehoseGarrisonP03_Init () {
// Trigger: S1 - Zerg Firehose Garrison P04
//--------------------------------------------------------------------------------------------------
bool gt_S1ZergFirehoseGarrisonP04_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8154,6 +8855,7 @@ void gt_S1ZergFirehoseGarrisonP04_Init () {
// Trigger: S1 - Zerg Firehose Garrison P05
//--------------------------------------------------------------------------------------------------
bool gt_S1ZergFirehoseGarrisonP05_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8211,6 +8913,7 @@ void gt_S1ZergFirehoseGarrisonP05_Init () {
// Trigger: Objective Fill Garrisons Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveFillGarrisonsCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8239,6 +8942,7 @@ void gt_ObjectiveFillGarrisonsCreate_Init () {
// Trigger: Objective Fill Garrisons Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveFillGarrisonsComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8270,6 +8974,7 @@ void gt_ObjectiveFillGarrisonsComplete_Init () {
// Trigger: Objective Fill Garrisons Update
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveFillGarrisonsUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -8292,6 +8997,7 @@ void gt_ObjectiveFillGarrisonsUpdate_Init () {
// Trigger: Objective Fill Garrisons Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveFillGarrisonsFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8323,6 +9029,7 @@ void gt_ObjectiveFillGarrisonsFailed_Init () {
// Trigger: Objective Recover Downed Forces Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveRecoverDownedForcesCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8354,6 +9061,7 @@ void gt_ObjectiveRecoverDownedForcesCreate_Init () {
// Trigger: Objective Recover Downed Forces Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveRecoverDownedForcesComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8382,6 +9090,7 @@ void gt_ObjectiveRecoverDownedForcesComplete_Init () {
// Trigger: Objective Recover Downed Forces Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveRecoverDownedForcesFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8413,6 +9122,7 @@ void gt_ObjectiveRecoverDownedForcesFailed_Init () {
// Trigger: Objective Reach Communications Hub Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveReachCommunicationsHubCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8440,6 +9150,7 @@ void gt_ObjectiveReachCommunicationsHubCreate_Init () {
// Trigger: Objective Reach Communications Hub Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveReachCommunicationsHubComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8471,6 +9182,7 @@ void gt_ObjectiveReachCommunicationsHubComplete_Init () {
// Trigger: Objective Reach Communications Hub Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveReachCommunicationsHubFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8502,6 +9214,7 @@ void gt_ObjectiveReachCommunicationsHubFailed_Init () {
// Trigger: Objective Nova Must Survive Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveNovaMustSurviveCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8530,6 +9243,7 @@ void gt_ObjectiveNovaMustSurviveCreate_Init () {
// Trigger: Objective Nova Must Survive Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveNovaMustSurviveComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8561,6 +9275,7 @@ void gt_ObjectiveNovaMustSurviveComplete_Init () {
// Trigger: Objective Nova Must Survive Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveNovaMustSurviveFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8592,6 +9307,7 @@ void gt_ObjectiveNovaMustSurviveFailed_Init () {
// Trigger: Objective Reach Command Room Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveReachCommandRoomCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8619,6 +9335,7 @@ void gt_ObjectiveReachCommandRoomCreate_Init () {
// Trigger: Objective Reach Command Room Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveReachCommandRoomComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8650,6 +9367,7 @@ void gt_ObjectiveReachCommandRoomComplete_Init () {
// Trigger: Objective Reach Command Room Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveReachCommandRoomFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8681,6 +9399,7 @@ void gt_ObjectiveReachCommandRoomFailed_Init () {
// Trigger: Briefing Q
//--------------------------------------------------------------------------------------------------
bool gt_BriefingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8743,6 +9462,14 @@ bool gt_BriefingScene00TarsonisInfested_Func (bool testConds, bool runActions) {
fixed lv_voiceOverDurationTotal;
fixed lv_voiceOverFraction;
+ // Automatic Variable Declarations
+ unitgroup auto64B7913B_g;
+ int auto64B7913B_u;
+ unit auto64B7913B_var;
+ unitgroup auto11CD4DDC_g;
+ int auto11CD4DDC_u;
+ unit auto11CD4DDC_var;
+
// Variable Initialization
// Actions
@@ -8752,15 +9479,17 @@ bool gt_BriefingScene00TarsonisInfested_Func (bool testConds, bool runActions) {
lv_voiceOverDurationTotal = (SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova03|Line00001", true), c_soundIndexAny)) + SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova03|Line00002", true), c_soundIndexAny)));
lv_voiceOverFraction = (lv_voiceOverDurationTotal / 3.0);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto64B7913B_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto64B7913B_u = UnitGroupCount(auto64B7913B_g, c_unitCountAll);
+ for (;; auto64B7913B_u -= 1) {
+ auto64B7913B_var = UnitGroupUnitFromEnd(auto64B7913B_g, auto64B7913B_u);
+ if (auto64B7913B_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto64B7913B_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto64B7913B_var);
+ libNtve_gf_PauseUnit(auto64B7913B_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
UnitGroupAdd(gv_cinematicHiddenUnits, UnitFromId(4709));
@@ -8773,11 +9502,13 @@ bool gt_BriefingScene00TarsonisInfested_Func (bool testConds, bool runActions) {
UnitGroupAdd(gv_cinematicHiddenUnits, UnitFromId(186));
UnitGroupAdd(gv_cinematicHiddenUnits, UnitFromId(65));
UnitGroupAdd(gv_cinematicHiddenUnits, UnitFromId(586));
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto11CD4DDC_g = gv_cinematicHiddenUnits;
+ auto11CD4DDC_u = UnitGroupCount(auto11CD4DDC_g, c_unitCountAll);
+ for (;; auto11CD4DDC_u -= 1) {
+ auto11CD4DDC_var = UnitGroupUnitFromEnd(auto11CD4DDC_g, auto11CD4DDC_u);
+ if (auto11CD4DDC_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto11CD4DDC_var, false);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeGame);
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(193), 0.0, -1, 10, true);
CinematicFade(true, 0.1, c_fadeStyleNormal, ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, true);
@@ -8804,6 +9535,7 @@ bool gt_BreifingScene00TarsosnisCamera_Func (bool testConds, bool runActions) {
fixed lv_voiceOverDurationTotal;
fixed lv_voiceOverFraction;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -8830,6 +9562,11 @@ bool gt_BriefingScene01DOMBase_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_voiceOverDurationTotal;
+ // Automatic Variable Declarations
+ unitgroup autoE93AAEA6_g;
+ int autoE93AAEA6_u;
+ unit autoE93AAEA6_var;
+
// Variable Initialization
// Actions
@@ -8845,12 +9582,14 @@ bool gt_BriefingScene01DOMBase_Func (bool testConds, bool runActions) {
UnitCreate(1, "Marauder", 0, gv_pLAYER_06_DEFENDERSOFMAN, UnitGetPosition(UnitFromId(965)), 0.0);
UnitIssueOrder(UnitFromId(3895), OrderTargetingUnit(AbilityCommand("attack", 0), UnitFromId(853)), c_orderQueueReplace);
UnitIssueOrder(UnitFromId(3057), OrderTargetingUnit(AbilityCommand("attack", 0), UnitFromId(3887)), c_orderQueueReplace);
- UnitGroupLoopBegin(gv_s2_UnitsHiddenDuringS1);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
+ autoE93AAEA6_g = gv_s2_UnitsHiddenDuringS1;
+ autoE93AAEA6_u = UnitGroupCount(autoE93AAEA6_g, c_unitCountAll);
+ for (;; autoE93AAEA6_u -= 1) {
+ autoE93AAEA6_var = UnitGroupUnitFromEnd(autoE93AAEA6_g, autoE93AAEA6_u);
+ if (autoE93AAEA6_var == null) { break; }
+ libNtve_gf_PauseUnit(autoE93AAEA6_var, false);
+ libNtve_gf_ShowHideUnit(autoE93AAEA6_var, true);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeGame);
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(291), 0.0, -1, 10, true);
CinematicFade(true, 0.1, c_fadeStyleNormal, ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, true);
@@ -8873,6 +9612,7 @@ void gt_BriefingScene01DOMBase_Init () {
// Trigger: Briefing Scene 02 - Show Garrisons
//--------------------------------------------------------------------------------------------------
bool gt_BriefingScene02ShowGarrisons_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -8922,6 +9662,7 @@ void gt_BriefingScene02ShowGarrisons_Init () {
// Trigger: Briefing Scene 03 - Show Siege Tanks
//--------------------------------------------------------------------------------------------------
bool gt_BriefingScene03ShowSiegeTanks_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -8966,6 +9707,7 @@ void gt_BriefingScene03ShowSiegeTanks_Init () {
// Trigger: Briefing Zerg Attack
//--------------------------------------------------------------------------------------------------
bool gt_BriefingZergAttack_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -8987,16 +9729,23 @@ void gt_BriefingZergAttack_Init () {
// Trigger: Briefing Scene 04 - Show Hellbats
//--------------------------------------------------------------------------------------------------
bool gt_BriefingScene04ShowHellbats_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto1897E62C_g;
+ int auto1897E62C_u;
+ unit auto1897E62C_var;
+
// Actions
if (!runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionFromId(78), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto1897E62C_g = UnitGroup(null, gv_pLAYER_03_FERALZERG_MIDDLEBULLIES, RegionFromId(78), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto1897E62C_u = UnitGroupCount(auto1897E62C_g, c_unitCountAll);
+ for (;; auto1897E62C_u -= 1) {
+ auto1897E62C_var = UnitGroupUnitFromEnd(auto1897E62C_g, auto1897E62C_u);
+ if (auto1897E62C_var == null) { break; }
+ UnitRemove(auto1897E62C_var);
}
- UnitGroupLoopEnd();
UnitRemove(UnitFromId(160));
UnitRemove(UnitFromId(158));
TechTreeUpgradeAddLevel(gv_pLAYER_01_USER, "HoverHellbat", 1);
@@ -9028,6 +9777,11 @@ bool gt_BriefingHellbatAttack_Func (bool testConds, bool runActions) {
unit[4] lv_hellbats;
unitgroup lv_marines;
+ // Automatic Variable Declarations
+ unitgroup auto138596E3_g;
+ int auto138596E3_u;
+ unit auto138596E3_var;
+
// Variable Initialization
lv_marines = UnitGroupEmpty();
@@ -9044,11 +9798,13 @@ bool gt_BriefingHellbatAttack_Func (bool testConds, bool runActions) {
lv_hellbats[2] = UnitLastCreated();
libNtve_gf_CreateUnitsAtPoint2(5, "Marine", 0, gv_pLAYER_01_USER, PointFromId(4700));
UnitGroupIssueOrder(UnitLastCreatedGroup(), OrderTargetingPoint(AbilityCommand("attack", 0), PointFromId(4704)), c_orderQueueReplace);
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ChangeUnitDamage(UnitGroupLoopCurrent(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
+ auto138596E3_g = UnitLastCreatedGroup();
+ auto138596E3_u = UnitGroupCount(auto138596E3_g, c_unitCountAll);
+ for (;; auto138596E3_u -= 1) {
+ auto138596E3_var = UnitGroupUnitFromEnd(auto138596E3_g, auto138596E3_u);
+ if (auto138596E3_var == null) { break; }
+ libNtve_gf_ChangeUnitDamage(auto138596E3_var, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
}
- UnitGroupLoopEnd();
UnitIssueOrder(lv_hellbats[1], OrderTargetingPoint(AbilityCommand("attack", 0), PointFromId(4704)), c_orderQueueReplace);
UnitIssueOrder(lv_hellbats[2], OrderTargetingPoint(AbilityCommand("attack", 0), PointFromId(4704)), c_orderQueueReplace);
libNtve_gf_CreateUnitsAtPoint2(3, "Hydralisk", 0, gv_pLAYER_04_FERALZERG_RIGHTBULLIES, PointFromId(4702));
@@ -9071,6 +9827,7 @@ void gt_BriefingHellbatAttack_Init () {
// Trigger: Intro Q
//--------------------------------------------------------------------------------------------------
bool gt_IntroQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9105,6 +9862,17 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_playersUnits;
+ // Automatic Variable Declarations
+ unitgroup auto057EB844_g;
+ int auto057EB844_u;
+ unit auto057EB844_var;
+ unitgroup auto6E35015E_g;
+ int auto6E35015E_u;
+ unit auto6E35015E_var;
+ unitgroup autoDF0FD023_g;
+ int autoDF0FD023_u;
+ unit autoDF0FD023_var;
+
// Variable Initialization
lv_playersUnits = UnitGroupEmpty();
@@ -9117,26 +9885,30 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
libNCMI_gf_CinematicModeCampaign(true, c_transitionDurationImmediate, true);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false) && (libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(1)) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto057EB844_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto057EB844_u = UnitGroupCount(auto057EB844_g, c_unitCountAll);
+ for (;; auto057EB844_u -= 1) {
+ auto057EB844_var = UnitGroupUnitFromEnd(auto057EB844_g, auto057EB844_u);
+ if (auto057EB844_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto057EB844_var) == false) && (libNtve_gf_UnitInRegion(auto057EB844_var, RegionFromId(1)) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto057EB844_var);
+ libNtve_gf_PauseUnit(auto057EB844_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(1)) == false)) {
- UnitGroupAdd(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto6E35015E_g = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto6E35015E_u = UnitGroupCount(auto6E35015E_g, c_unitCountAll);
+ for (;; auto6E35015E_u -= 1) {
+ auto6E35015E_var = UnitGroupUnitFromEnd(auto6E35015E_g, auto6E35015E_u);
+ if (auto6E35015E_var == null) { break; }
+ if ((libNtve_gf_UnitInRegion(auto6E35015E_var, RegionFromId(1)) == false)) {
+ UnitGroupAdd(gv_cinematicHiddenUnits, auto6E35015E_var);
+ libNtve_gf_ShowHideUnit(auto6E35015E_var, false);
}
}
- UnitGroupLoopEnd();
libNtve_gf_PauseUnit(gv_zeratul, true);
libNtve_gf_ShowHideUnit(gv_zeratul, false);
UnitSetPosition(gv_zeratul, PointFromId(2383), false);
@@ -9163,12 +9935,14 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
UnitGroupAdd(gv_introPlayerUnits, UnitFromId(7));
UnitGroupAdd(gv_introPlayerUnits, UnitFromId(186));
UnitGroupAdd(gv_introPlayerUnits, UnitFromId(4709));
- UnitGroupLoopBegin(gv_introPlayerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateFidget, false);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ autoDF0FD023_g = gv_introPlayerUnits;
+ autoDF0FD023_u = UnitGroupCount(autoDF0FD023_g, c_unitCountAll);
+ for (;; autoDF0FD023_u -= 1) {
+ autoDF0FD023_var = UnitGroupUnitFromEnd(autoDF0FD023_g, autoDF0FD023_u);
+ if (autoDF0FD023_var == null) { break; }
+ UnitSetState(autoDF0FD023_var, c_unitStateFidget, false);
+ libNtve_gf_ShowHideUnit(autoDF0FD023_var, false);
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(UnitFromId(66), false);
libNtve_gf_ShowHideUnit(UnitFromId(411), false);
libNtve_gf_CreateUnitsWithDefaultFacing(1, "FactoryFlying", 0, gv_pLAYER_01_USER, PointFromId(4694));
@@ -9189,6 +9963,7 @@ void gt_IntroSetup_Init () {
// Trigger: Intro Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_IntroCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9254,6 +10029,7 @@ bool gt_IntroCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -9284,6 +10060,26 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
+ unitgroup auto26898642_g;
+ int auto26898642_u;
+ unit auto26898642_var;
+ unitgroup auto7E3700C9_g;
+ int auto7E3700C9_u;
+ unit auto7E3700C9_var;
+ unitgroup auto83F54920_g;
+ int auto83F54920_u;
+ unit auto83F54920_var;
+ unitgroup autoD6024770_g;
+ int autoD6024770_u;
+ unit autoD6024770_var;
+ unitgroup autoA3B1BAE6_g;
+ int autoA3B1BAE6_u;
+ unit autoA3B1BAE6_var;
+ unitgroup auto3B0D78DE_g;
+ int auto3B0D78DE_u;
+ unit auto3B0D78DE_var;
+
// Variable Initialization
// Actions
@@ -9321,28 +10117,36 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
libNtve_gf_ShowHideUnit(gv_zeratul, true);
libNtve_gf_ShowHideUnit(UnitFromId(66), true);
libNtve_gf_ShowHideUnit(UnitFromId(411), true);
- UnitGroupLoopBegin(gv_introPlayerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateFidget, true);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- }
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto26898642_g = gv_introPlayerUnits;
+ auto26898642_u = UnitGroupCount(auto26898642_g, c_unitCountAll);
+ for (;; auto26898642_u -= 1) {
+ auto26898642_var = UnitGroupUnitFromEnd(auto26898642_g, auto26898642_u);
+ if (auto26898642_var == null) { break; }
+ UnitSetState(auto26898642_var, c_unitStateFidget, true);
+ libNtve_gf_ShowHideUnit(auto26898642_var, true);
+ }
+ }
+ auto7E3700C9_g = gv_cinematicTempUnits;
+ auto7E3700C9_u = UnitGroupCount(auto7E3700C9_g, c_unitCountAll);
+ for (;; auto7E3700C9_u -= 1) {
+ auto7E3700C9_var = UnitGroupUnitFromEnd(auto7E3700C9_g, auto7E3700C9_u);
+ if (auto7E3700C9_var == null) { break; }
+ UnitRemove(auto7E3700C9_var);
+ }
+ auto83F54920_g = gv_cinematicHiddenUnits;
+ auto83F54920_u = UnitGroupCount(auto83F54920_g, c_unitCountAll);
+ for (;; auto83F54920_u -= 1) {
+ auto83F54920_var = UnitGroupUnitFromEnd(auto83F54920_g, auto83F54920_u);
+ if (auto83F54920_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto83F54920_var, true);
+ }
+ autoD6024770_g = gv_cinematicPausedUnits;
+ autoD6024770_u = UnitGroupCount(autoD6024770_g, c_unitCountAll);
+ for (;; autoD6024770_u -= 1) {
+ autoD6024770_var = UnitGroupUnitFromEnd(autoD6024770_g, autoD6024770_u);
+ if (autoD6024770_var == null) { break; }
+ libNtve_gf_PauseUnit(autoD6024770_var, false);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
GameTimeOfDayPause(false);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, true);
VisExploreArea(gv_pLAYER_01_USER, RegionEntireMap(), false, false);
@@ -9356,24 +10160,28 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
UnitSetPropertyFixed(UnitFromId(383), c_unitPropResources, gv_introMinerals[7]);
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropVespene, c_playerPropOperSetTo, gv_introGas[0]);
UnitSetPropertyFixed(UnitFromId(379), c_unitPropResources, gv_introGas[1]);
- UnitGroupLoopBegin(gv_introPlayerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateFidget, true);
+ autoA3B1BAE6_g = gv_introPlayerUnits;
+ autoA3B1BAE6_u = UnitGroupCount(autoA3B1BAE6_g, c_unitCountAll);
+ for (;; autoA3B1BAE6_u -= 1) {
+ autoA3B1BAE6_var = UnitGroupUnitFromEnd(autoA3B1BAE6_g, autoA3B1BAE6_u);
+ if (autoA3B1BAE6_var == null) { break; }
+ UnitSetState(autoA3B1BAE6_var, c_unitStateFidget, true);
}
- UnitGroupLoopEnd();
VisExploreArea(gv_pLAYER_01_USER, RegionFromId(3), true, false);
VisRevealArea(gv_pLAYER_01_USER, RegionFromId(89), 0.0, false);
RegionPlayableMapSet(RegionFromId(7));
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionFromId(8), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- UnitGroupAdd(gv_s2_UnitsHiddenDuringS1, UnitGroupLoopCurrent());
+ auto3B0D78DE_g = UnitGroup(null, c_playerAny, RegionFromId(8), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto3B0D78DE_u = UnitGroupCount(auto3B0D78DE_g, c_unitCountAll);
+ for (;; auto3B0D78DE_u -= 1) {
+ auto3B0D78DE_var = UnitGroupUnitFromEnd(auto3B0D78DE_g, auto3B0D78DE_u);
+ if (auto3B0D78DE_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto3B0D78DE_var) == false)) {
+ libNtve_gf_PauseUnit(auto3B0D78DE_var, true);
+ libNtve_gf_ShowHideUnit(auto3B0D78DE_var, false);
+ UnitGroupAdd(gv_s2_UnitsHiddenDuringS1, auto3B0D78DE_var);
}
}
- UnitGroupLoopEnd();
ActorScopeCreate("AmbTarsonisDebrisLoopActorSoundSite");
gv_cameraSoundActorScope = libNtve_gf_ActorScopeLastCreated();
TriggerExecute(gt_StartAI, true, false);
@@ -9408,6 +10216,7 @@ void gt_IntroCleanup_Init () {
// Trigger: Intro Spawn Tank
//--------------------------------------------------------------------------------------------------
bool gt_IntroSpawnTank_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9434,6 +10243,7 @@ void gt_IntroSpawnTank_Init () {
// Trigger: Intro Spawn Barracks Units
//--------------------------------------------------------------------------------------------------
bool gt_IntroSpawnBarracksUnits_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9505,6 +10315,7 @@ void gt_IntroSpawnBarracksUnits_Init () {
// Trigger: Mid Q
//--------------------------------------------------------------------------------------------------
bool gt_MidQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9540,6 +10351,14 @@ void gt_MidQ_Init () {
// Trigger: Mid Setup
//--------------------------------------------------------------------------------------------------
bool gt_MidSetup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto5D2B931E_g;
+ int auto5D2B931E_u;
+ unit auto5D2B931E_var;
+ unitgroup autoF839203A_g;
+ int autoF839203A_u;
+ unit autoF839203A_var;
+
// Actions
if (!runActions) {
return true;
@@ -9556,23 +10375,27 @@ bool gt_MidSetup_Func (bool testConds, bool runActions) {
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
RegionPlayableMapSet(RegionEntireMap());
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto5D2B931E_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto5D2B931E_u = UnitGroupCount(auto5D2B931E_g, c_unitCountAll);
+ for (;; auto5D2B931E_u -= 1) {
+ auto5D2B931E_var = UnitGroupUnitFromEnd(auto5D2B931E_g, auto5D2B931E_u);
+ if (auto5D2B931E_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto5D2B931E_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto5D2B931E_var);
+ libNtve_gf_PauseUnit(auto5D2B931E_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupAdd(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ autoF839203A_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoF839203A_u = UnitGroupCount(autoF839203A_g, c_unitCountAll);
+ for (;; autoF839203A_u -= 1) {
+ autoF839203A_var = UnitGroupUnitFromEnd(autoF839203A_g, autoF839203A_u);
+ if (autoF839203A_var == null) { break; }
+ UnitGroupAdd(gv_cinematicHiddenUnits, autoF839203A_var);
+ libNtve_gf_ShowHideUnit(autoF839203A_var, false);
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(UnitFromId(339), true);
UnitIssueOrder(gv_zeratul, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
UnitSetPosition(gv_zeratul, PointFromId(650), false);
@@ -9618,6 +10441,7 @@ void gt_MidSetup_Init () {
// Trigger: Mid Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_MidCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
fixed auto38F006F5_at;
fixed autoCDA67ABC_at;
@@ -9760,6 +10584,7 @@ bool gt_MidCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -9789,6 +10614,23 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
+ unitgroup auto630A8C81_g;
+ int auto630A8C81_u;
+ unit auto630A8C81_var;
+ unitgroup auto6AECF332_g;
+ int auto6AECF332_u;
+ unit auto6AECF332_var;
+ unitgroup auto48A69EC5_g;
+ int auto48A69EC5_u;
+ unit auto48A69EC5_var;
+ unitgroup autoA3F09016_g;
+ int autoA3F09016_u;
+ unit autoA3F09016_var;
+ unitgroup auto4AF38ED8_g;
+ int auto4AF38ED8_u;
+ unit auto4AF38ED8_var;
+
// Variable Initialization
// Actions
@@ -9798,21 +10640,27 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) {
libNCMI_gf_EnableDisableHeroReviveSystem(false, gv_pLAYER_01_USER);
libNCMI_gf_StopCinematicSounds();
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
+ auto630A8C81_g = gv_cinematicTempUnits;
+ auto630A8C81_u = UnitGroupCount(auto630A8C81_g, c_unitCountAll);
+ for (;; auto630A8C81_u -= 1) {
+ auto630A8C81_var = UnitGroupUnitFromEnd(auto630A8C81_g, auto630A8C81_u);
+ if (auto630A8C81_var == null) { break; }
+ UnitRemove(auto630A8C81_var);
+ }
+ auto6AECF332_g = gv_cinematicHiddenUnits;
+ auto6AECF332_u = UnitGroupCount(auto6AECF332_g, c_unitCountAll);
+ for (;; auto6AECF332_u -= 1) {
+ auto6AECF332_var = UnitGroupUnitFromEnd(auto6AECF332_g, auto6AECF332_u);
+ if (auto6AECF332_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto6AECF332_var, true);
+ }
+ auto48A69EC5_g = gv_cinematicPausedUnits;
+ auto48A69EC5_u = UnitGroupCount(auto48A69EC5_g, c_unitCountAll);
+ for (;; auto48A69EC5_u -= 1) {
+ auto48A69EC5_var = UnitGroupUnitFromEnd(auto48A69EC5_g, auto48A69EC5_u);
+ if (auto48A69EC5_var == null) { break; }
+ libNtve_gf_PauseUnit(auto48A69EC5_var, false);
}
- UnitGroupLoopEnd();
GameTimeOfDayPause(false);
GameSetLighting(gv_lighting_Stage02, 0.0);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, true);
@@ -9852,17 +10700,21 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) {
UnitSetPropertyFixed(gv_zeratul, c_unitPropShieldsPercent, 100.0);
UnitSetHeight(gv_zeratul, 0.0, 0.3);
UnitBehaviorRemove(gv_zeratul, "SuppressCloak", 1);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ autoA3F09016_g = UnitGroup(null, c_playerAny, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoA3F09016_u = UnitGroupCount(autoA3F09016_g, c_unitCountAll);
+ for (;; autoA3F09016_u -= 1) {
+ autoA3F09016_var = UnitGroupUnitFromEnd(autoA3F09016_g, autoA3F09016_u);
+ if (autoA3F09016_var == null) { break; }
+ UnitRemove(autoA3F09016_var);
+ }
+ auto4AF38ED8_g = gv_s2_UnitsHiddenDuringS1;
+ auto4AF38ED8_u = UnitGroupCount(auto4AF38ED8_g, c_unitCountAll);
+ for (;; auto4AF38ED8_u -= 1) {
+ auto4AF38ED8_var = UnitGroupUnitFromEnd(auto4AF38ED8_g, auto4AF38ED8_u);
+ if (auto4AF38ED8_var == null) { break; }
+ libNtve_gf_PauseUnit(auto4AF38ED8_var, false);
+ libNtve_gf_ShowHideUnit(auto4AF38ED8_var, true);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_s2_UnitsHiddenDuringS1);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(gv_s2_BeaconActionableIntel, false);
if ((gv_cinematicCompleted == true)) {
lv_fadeDuration = 1.5;
@@ -9892,6 +10744,7 @@ void gt_MidCleanup_Init () {
// Trigger: Mid Q 2
//--------------------------------------------------------------------------------------------------
bool gt_MidQ2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9927,12 +10780,25 @@ void gt_MidQ2_Init () {
// Trigger: Mid Setup 2
//--------------------------------------------------------------------------------------------------
bool gt_MidSetup2_Func (bool testConds, bool runActions) {
- int auto7BFD3582_ae;
- int auto7BFD3582_ai;
-
// Variable Declarations
int lv_technicianIndex;
+ // Automatic Variable Declarations
+ unitgroup auto14E16A81_g;
+ int auto14E16A81_u;
+ unit auto14E16A81_var;
+ unitgroup auto051AD3F9_g;
+ int auto051AD3F9_u;
+ unit auto051AD3F9_var;
+ const int auto7BFD3582_ae = 4;
+ const int auto7BFD3582_ai = 1;
+ unitgroup autoABF7442C_g;
+ int autoABF7442C_u;
+ unit autoABF7442C_var;
+ unitgroup auto4EDBEA60_g;
+ int auto4EDBEA60_u;
+ unit auto4EDBEA60_var;
+
// Variable Initialization
// Actions
@@ -9948,28 +10814,32 @@ bool gt_MidSetup2_Func (bool testConds, bool runActions) {
GameTimeOfDayPause(true);
RegionPlayableMapSet(RegionEntireMap());
libNtve_gf_SendActorMessageToGameRegion(RegionEntireMap(), "Signal GuideHide");
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto14E16A81_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto14E16A81_u = UnitGroupCount(auto14E16A81_g, c_unitCountAll);
+ for (;; auto14E16A81_u -= 1) {
+ auto14E16A81_var = UnitGroupUnitFromEnd(auto14E16A81_g, auto14E16A81_u);
+ if (auto14E16A81_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto14E16A81_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto14E16A81_var);
+ libNtve_gf_PauseUnit(auto14E16A81_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGroupLoopCurrent() == UnitFromId(108))) {
- UnitGroupRemove(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
+ auto051AD3F9_g = gv_cinematicHiddenUnits;
+ auto051AD3F9_u = UnitGroupCount(auto051AD3F9_g, c_unitCountAll);
+ for (;; auto051AD3F9_u -= 1) {
+ auto051AD3F9_var = UnitGroupUnitFromEnd(auto051AD3F9_g, auto051AD3F9_u);
+ if (auto051AD3F9_var == null) { break; }
+ if ((auto051AD3F9_var == UnitFromId(108))) {
+ UnitGroupRemove(gv_cinematicHiddenUnits, auto051AD3F9_var);
continue;
}
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ libNtve_gf_ShowHideUnit(auto051AD3F9_var, false);
}
- UnitGroupLoopEnd();
UnitIssueOrder(gv_zeratul, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
UnitSetPosition(gv_zeratul, PointWithOffset(PointFromId(794), -1.5, -1.5), false);
libNtve_gf_ShowHideUnit(gv_zeratul, true);
@@ -9983,10 +10853,8 @@ bool gt_MidSetup2_Func (bool testConds, bool runActions) {
UnitSetState(UnitLastCreated(), c_unitStateFidget, false);
UnitSetPropertyFixed(UnitLastCreated(), c_unitPropMovementSpeed, 2.0);
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
- auto7BFD3582_ae = 4;
- auto7BFD3582_ai = 1;
lv_technicianIndex = 1;
- for ( ; ( (auto7BFD3582_ai >= 0 && lv_technicianIndex <= auto7BFD3582_ae) || (auto7BFD3582_ai <= 0 && lv_technicianIndex >= auto7BFD3582_ae) ) ; lv_technicianIndex += auto7BFD3582_ai ) {
+ for ( ; ( (auto7BFD3582_ai >= 0 && lv_technicianIndex <= auto7BFD3582_ae) || (auto7BFD3582_ai < 0 && lv_technicianIndex >= auto7BFD3582_ae) ) ; lv_technicianIndex += auto7BFD3582_ai ) {
libNtve_gf_CreateUnitsAtPoint2(1, "DOMScientist", c_unitCreateIgnorePlacement, gv_pLAYER_06_DEFENDERSOFMAN, PointFromName(("Mid 2 - Technician " + IntToString(lv_technicianIndex))));
UnitSetPropertyFixed(UnitLastCreated(), c_unitPropMovementSpeed, 2.2);
UnitBehaviorAdd(UnitLastCreated(), "Run", UnitLastCreated(), 1);
@@ -10005,26 +10873,30 @@ bool gt_MidSetup2_Func (bool testConds, bool runActions) {
UnitGroupAdd(gv_midCinematic02_NorthReinforcements, UnitFromId(3273));
UnitGroupAdd(gv_midCinematic02_NorthReinforcements, UnitFromId(3270));
UnitGroupAdd(gv_midCinematic02_NorthReinforcements, UnitFromId(3291));
- UnitGroupLoopBegin(gv_midCinematic02_NorthReinforcements);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupAdd(gv_cinematicTempUnits, UnitGroupLoopCurrent());
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitSetOwner(UnitGroupLoopCurrent(), gv_pLAYER_06_DEFENDERSOFMAN, true);
- }
- UnitGroupLoopEnd();
+ autoABF7442C_g = gv_midCinematic02_NorthReinforcements;
+ autoABF7442C_u = UnitGroupCount(autoABF7442C_g, c_unitCountAll);
+ for (;; autoABF7442C_u -= 1) {
+ autoABF7442C_var = UnitGroupUnitFromEnd(autoABF7442C_g, autoABF7442C_u);
+ if (autoABF7442C_var == null) { break; }
+ UnitGroupAdd(gv_cinematicTempUnits, autoABF7442C_var);
+ libNtve_gf_ShowHideUnit(autoABF7442C_var, true);
+ libNtve_gf_PauseUnit(autoABF7442C_var, false);
+ UnitSetOwner(autoABF7442C_var, gv_pLAYER_06_DEFENDERSOFMAN, true);
+ }
UnitGroupAdd(gv_midCinematic02_EastReinforcements, UnitFromId(3285));
UnitGroupAdd(gv_midCinematic02_EastReinforcements, UnitFromId(3284));
UnitGroupAdd(gv_midCinematic02_EastReinforcements, UnitFromId(2595));
- UnitGroupLoopBegin(gv_midCinematic02_EastReinforcements);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupAdd(gv_cinematicTempUnits, UnitGroupLoopCurrent());
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitSetOwner(UnitGroupLoopCurrent(), gv_pLAYER_06_DEFENDERSOFMAN, true);
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropMovementSpeed, UnitGetPropertyFixed(UnitFromId(2595), c_unitPropMovementSpeed, c_unitPropNormal));
- }
- UnitGroupLoopEnd();
+ auto4EDBEA60_g = gv_midCinematic02_EastReinforcements;
+ auto4EDBEA60_u = UnitGroupCount(auto4EDBEA60_g, c_unitCountAll);
+ for (;; auto4EDBEA60_u -= 1) {
+ auto4EDBEA60_var = UnitGroupUnitFromEnd(auto4EDBEA60_g, auto4EDBEA60_u);
+ if (auto4EDBEA60_var == null) { break; }
+ UnitGroupAdd(gv_cinematicTempUnits, auto4EDBEA60_var);
+ libNtve_gf_ShowHideUnit(auto4EDBEA60_var, true);
+ libNtve_gf_PauseUnit(auto4EDBEA60_var, false);
+ UnitSetOwner(auto4EDBEA60_var, gv_pLAYER_06_DEFENDERSOFMAN, true);
+ UnitSetPropertyFixed(auto4EDBEA60_var, c_unitPropMovementSpeed, UnitGetPropertyFixed(UnitFromId(2595), c_unitPropMovementSpeed, c_unitPropNormal));
+ }
libNtve_gf_CreateUnitsWithDefaultFacing(1, "RotatingTurretPassiveSCCW", c_unitCreateIgnorePlacement, gv_pLAYER_06_DEFENDERSOFMAN, UnitGetPosition(UnitFromId(664)));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
return true;
@@ -10039,6 +10911,11 @@ void gt_MidSetup2_Init () {
// Trigger: Mid Cinematic 2
//--------------------------------------------------------------------------------------------------
bool gt_MidCinematic2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto10253F88_g;
+ int auto10253F88_u;
+ unit auto10253F88_var;
+
// Actions
if (!runActions) {
return true;
@@ -10082,12 +10959,14 @@ bool gt_MidCinematic2_Func (bool testConds, bool runActions) {
UnitBehaviorAdd(gv_midCinematic02_StationOfficer, "Run", gv_midCinematic02_StationOfficer, 1);
UnitIssueOrder(gv_midCinematic02_StationOfficer, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(807)), c_orderQueueReplace);
Wait(0.5, c_timeGame);
- UnitGroupLoopBegin(gv_midCinematic02_EastReinforcements);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(AbilityCommand("move", 0), gv_midCinematic02_StationOfficer), c_orderQueueReplace);
+ auto10253F88_g = gv_midCinematic02_EastReinforcements;
+ auto10253F88_u = UnitGroupCount(auto10253F88_g, c_unitCountAll);
+ for (;; auto10253F88_u -= 1) {
+ auto10253F88_var = UnitGroupUnitFromEnd(auto10253F88_g, auto10253F88_u);
+ if (auto10253F88_var == null) { break; }
+ UnitIssueOrder(auto10253F88_var, OrderTargetingUnit(AbilityCommand("move", 0), gv_midCinematic02_StationOfficer), c_orderQueueReplace);
Wait(0.1, c_timeGame);
}
- UnitGroupLoopEnd();
Wait(1.1, c_timeGame);
Wait(2.0, c_timeGame);
SoundStop(gv_midCinematic02_AlarmSound, true);
@@ -10114,6 +10993,7 @@ bool gt_MidCinematicEnd2_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -10143,6 +11023,17 @@ bool gt_MidCleanup2_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
+ unitgroup auto3806EA8F_g;
+ int auto3806EA8F_u;
+ unit auto3806EA8F_var;
+ unitgroup autoF58E804D_g;
+ int autoF58E804D_u;
+ unit autoF58E804D_var;
+ unitgroup autoE5350E98_g;
+ int autoE5350E98_u;
+ unit autoE5350E98_var;
+
// Variable Initialization
// Actions
@@ -10151,21 +11042,27 @@ bool gt_MidCleanup2_Func (bool testConds, bool runActions) {
}
libNCMI_gf_StopCinematicSounds();
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
+ auto3806EA8F_g = gv_cinematicTempUnits;
+ auto3806EA8F_u = UnitGroupCount(auto3806EA8F_g, c_unitCountAll);
+ for (;; auto3806EA8F_u -= 1) {
+ auto3806EA8F_var = UnitGroupUnitFromEnd(auto3806EA8F_g, auto3806EA8F_u);
+ if (auto3806EA8F_var == null) { break; }
+ UnitRemove(auto3806EA8F_var);
+ }
+ autoF58E804D_g = gv_cinematicHiddenUnits;
+ autoF58E804D_u = UnitGroupCount(autoF58E804D_g, c_unitCountAll);
+ for (;; autoF58E804D_u -= 1) {
+ autoF58E804D_var = UnitGroupUnitFromEnd(autoF58E804D_g, autoF58E804D_u);
+ if (autoF58E804D_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoF58E804D_var, true);
+ }
+ autoE5350E98_g = gv_cinematicPausedUnits;
+ autoE5350E98_u = UnitGroupCount(autoE5350E98_g, c_unitCountAll);
+ for (;; autoE5350E98_u -= 1) {
+ autoE5350E98_var = UnitGroupUnitFromEnd(autoE5350E98_g, autoE5350E98_u);
+ if (autoE5350E98_var == null) { break; }
+ libNtve_gf_PauseUnit(autoE5350E98_var, false);
}
- UnitGroupLoopEnd();
GameTimeOfDayPause(false);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, true);
UnitGroupSelect(UnitGroupSelected(gv_pLAYER_01_USER), gv_pLAYER_01_USER, true);
@@ -10224,6 +11121,7 @@ bool gt_MidTrooperResponse2_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_trooperMoveIndex;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -10263,19 +11161,26 @@ void gt_MidTrooperResponse2_Init () {
// Trigger: Mid Scientist Response 2
//--------------------------------------------------------------------------------------------------
bool gt_MidScientistResponse2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto79F309AC_g;
+ int auto79F309AC_u;
+ unit auto79F309AC_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(2.0, c_timeGame);
- UnitGroupLoopBegin(gv_midCinematic02_FleeingTechnicians);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(807)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(1674)), c_orderQueueAddToEnd);
+ auto79F309AC_g = gv_midCinematic02_FleeingTechnicians;
+ auto79F309AC_u = UnitGroupCount(auto79F309AC_g, c_unitCountAll);
+ for (;; auto79F309AC_u -= 1) {
+ auto79F309AC_var = UnitGroupUnitFromEnd(auto79F309AC_g, auto79F309AC_u);
+ if (auto79F309AC_var == null) { break; }
+ UnitIssueOrder(auto79F309AC_var, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(807)), c_orderQueueReplace);
+ UnitIssueOrder(auto79F309AC_var, OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(1674)), c_orderQueueAddToEnd);
Wait(0.1, c_timeGame);
}
- UnitGroupLoopEnd();
return true;
}
@@ -10288,6 +11193,7 @@ void gt_MidScientistResponse2_Init () {
// Trigger: Victory Q
//--------------------------------------------------------------------------------------------------
bool gt_VictoryQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -10320,6 +11226,17 @@ void gt_VictoryQ_Init () {
// Trigger: Victory Setup
//--------------------------------------------------------------------------------------------------
bool gt_VictorySetup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto2121BBCD_g;
+ int auto2121BBCD_u;
+ unit auto2121BBCD_var;
+ unitgroup autoE380D0DA_g;
+ int autoE380D0DA_u;
+ unit autoE380D0DA_var;
+ unitgroup auto99EAA3F3_g;
+ int auto99EAA3F3_u;
+ unit auto99EAA3F3_var;
+
// Actions
if (!runActions) {
return true;
@@ -10330,28 +11247,34 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
UnitClearSelection(gv_pLAYER_01_USER);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto2121BBCD_g = UnitGroup(null, gv_pLAYER_06_DEFENDERSOFMAN, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto2121BBCD_u = UnitGroupCount(auto2121BBCD_g, c_unitCountAll);
+ for (;; auto2121BBCD_u -= 1) {
+ auto2121BBCD_var = UnitGroupUnitFromEnd(auto2121BBCD_g, auto2121BBCD_u);
+ if (auto2121BBCD_var == null) { break; }
+ UnitRemove(auto2121BBCD_var);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ autoE380D0DA_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoE380D0DA_u = UnitGroupCount(autoE380D0DA_g, c_unitCountAll);
+ for (;; autoE380D0DA_u -= 1) {
+ autoE380D0DA_var = UnitGroupUnitFromEnd(autoE380D0DA_g, autoE380D0DA_u);
+ if (autoE380D0DA_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(autoE380D0DA_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, autoE380D0DA_var);
+ libNtve_gf_PauseUnit(autoE380D0DA_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto99EAA3F3_g = gv_cinematicHiddenUnits;
+ auto99EAA3F3_u = UnitGroupCount(auto99EAA3F3_g, c_unitCountAll);
+ for (;; auto99EAA3F3_u -= 1) {
+ auto99EAA3F3_var = UnitGroupUnitFromEnd(auto99EAA3F3_g, auto99EAA3F3_u);
+ if (auto99EAA3F3_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto99EAA3F3_var, false);
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(UnitFromId(808), true);
libNtve_gf_PauseUnit(UnitFromId(808), false);
UnitIssueOrder(gv_zeratul, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
@@ -10373,6 +11296,7 @@ void gt_VictorySetup_Init () {
// Trigger: Victory Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
fixed auto421D4684_at;
// Actions
@@ -10428,6 +11352,7 @@ bool gt_VictoryCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -10454,6 +11379,7 @@ void gt_VictoryCinematicEnd_Init () {
// Trigger: Victory Cleanup
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCleanup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -10579,6 +11505,7 @@ void InitTriggers () {
gt_VictoryStatDOMKills_Init();
gt_VictoryStatSupplyTracker_Init();
gt_AchievementBunkerRush_Init();
+ gt_AchievementFilledfivegarrisonswithin10minutes_Init();
gt_TipReadyQ_Init();
gt_StartAI_Init();
gt_AIUpgradesCasualNormal_Init();
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Preload.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Preload.xml
index 140fa76af5..6c4da672b5 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Preload.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Preload.xml
@@ -1,4 +1,4 @@
-
+
@@ -12,79 +12,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
@@ -96,17 +38,31 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -123,15 +79,18 @@
+
+
+
+
-
@@ -140,12 +99,53 @@
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -163,6 +163,7 @@
+
@@ -171,11 +172,10 @@
-
+
-
@@ -342,9 +342,12 @@
+
+
+
-
+
@@ -374,15 +377,13 @@
-
-
-
+
@@ -397,7 +398,6 @@
-
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions
index 30d923890e..e2499f629f 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions
@@ -63,9 +63,8 @@
-
-
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions.version
index fc7b5a1d81..cb27eb1fa4 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions.version and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Regions.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers
index 2e879c341e..4deace2f76 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers
@@ -25288,6 +25288,7 @@
+
@@ -25295,6 +25296,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Alert the player to the good news!
@@ -61944,6 +61965,7 @@
+
@@ -62513,6 +62535,227 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 60.0
+
+
+
+
+ 10.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anniversary_Nova03
+
+
+
+
+
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers.version
index 2e85669ab9..3156be962a 100644
Binary files a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers.version and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/Triggers.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/dede.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..dcb4d54312
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Hinter feindlichen Linien
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Garnisonstruppen
+MapInfo/Player03/Name=Verwilderte Zerg
+MapInfo/Player04/Name=Verwilderte Zerg
+MapInfo/Player05/Name=Verwilderte Zerg
+MapInfo/Player06/Name=Verteidiger der Menschheit
+MapInfo/Player07/Name=Terranische Liga
+MapInfo/Player08/Name=Verwilderte Zerg
+MapInfo/Player09/Name=Verwilderte Zerg
+MapInfo/Player10/Name=Verwilderte Zerg
+MapInfo/Player11/Name=Verwilderte Zerg
+MapInfo/Player12/Name=Videosequenzeinheiten
+MapInfo/Player13/Name=Feindlich
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Sturmangriff einsetzen
+Param/Value/052EFB6E=Nova wurde getötet.
+Param/Value/05D115F6=Getötete Verteidiger der Menschheit
+Param/Value/21208026=Zerg-Aktivitäten
+Param/Value/24A55886=Kommunikationszentrale
+Param/Value/296D1507=Hellion (26 Kills)
+Param/Value/30FCFA14=Startort
+Param/Value/326BD829=Der Stationsoffizier ist entkommen.
+Param/Value/3C122C6A=Gestrandete Streitkräfte
+Param/Value/3FE01CF1=Startort
+Param/Value/52DC9371=Alle Garnisonen bemannt
+Param/Value/56DE48DF=Zerg-Flugeinheiten nähern sich
+Param/Value/7DA8CF3C=Feindlicher Zerg-Schwarmstock
+Param/Value/83B2C689=Zerg-Lufteinheit
+Param/Value/83CC929A=Feindlicher Zerg-Schwarmstock
+Param/Value/925F6196=Nova - Start
+Param/Value/93C80E73=Gestrandete Streitkräfte gerettet
+Param/Value/983D6990=Feindlicher Zerg-Schwarmstock
+Param/Value/9AE4F875=Kommunikationsterminal
+Param/Value/9B173852=5 Tage
+Param/Value/9B78F450=Garnison vollständig bemannt
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Zerg-Aktivitäten
+Param/Value/A9946050=Verseuchungspustel vernichten
+Param/Value/B5607704=Gestrandete Streitkräfte
+Param/Value/BB612C74=Maximal erreichte Versorgung
+Param/Value/C4EBD9A3=Verseuchungspustel entdeckt
+Param/Value/C798C786=Die Zerg sind überall!
+Param/Value/C831499C=Verseuchungspustel vernichtet
+Param/Value/D230CE18=Zerg-Aktivitäten
+Param/Value/D59C3172=Kommunikationszentrale erreicht
+Param/Value/D66F62C5=All Ihre Gebäude wurden zerstört.
+Param/Value/E0358B13=Garnison vollständig bemannt
+Param/Value/F1E6007B=Die Zerg brechen durch!
+Param/Value/F4988F5A=Garnisonsort
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
index 605881afe1..d95c01d7ca 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
@@ -222,6 +222,7 @@ Trigger/Name/AADAAB00=S2 - First Units Flee Stealthed Nova Transmission Q
Trigger/Name/AD3D9AEC=S2 - Nova Kills Another in Sword Tutorial Room Transmission Q
Trigger/Name/AF8B27EF=S2 - Bonus Objective Detectors Dead Q
Trigger/Name/AFC7EDA2=S1 - First Infestation Sighted Q
+Trigger/Name/B3CDB2C5=Achievement - Filled five garrisons within 10 minutes
Trigger/Name/B3E719A2=S2 - First Units Flee Stealthed Nova
Trigger/Name/B432C62E=Objective Nova Must Survive Create
Trigger/Name/B4475BA2=S2 - Clean Up Section 02
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/eses.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..9cd73e7e1f
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Información clasificada
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Fuerzas acuarteladas
+MapInfo/Player03/Name=Zerg salvajes
+MapInfo/Player04/Name=Zerg salvajes
+MapInfo/Player05/Name=Zerg salvajes
+MapInfo/Player06/Name=Defensores del Hombre
+MapInfo/Player07/Name=Dominio terran
+MapInfo/Player08/Name=Zerg salvajes
+MapInfo/Player09/Name=Hostil
+MapInfo/Player10/Name=Zerg salvajes
+MapInfo/Player11/Name=Zerg salvajes
+MapInfo/Player12/Name=Unidades cinemáticas
+MapInfo/Player13/Name=Hostil
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Utiliza carga
+Param/Value/052EFB6E=Nova ha muerto.
+Param/Value/05D115F6=Defensores del Hombre asesinados
+Param/Value/21208026=Actividad zerg
+Param/Value/24A55886=Centro de comunicaciones
+Param/Value/296D1507=Erebion (26 muertes)
+Param/Value/30FCFA14=Ubicación de inicio
+Param/Value/326BD829=El oficial de estación ha escapado.
+Param/Value/3C122C6A=Fuerzas caídas
+Param/Value/3FE01CF1=Ubicación de inicio
+Param/Value/52DC9371=Todos los cuarteles establecidos
+Param/Value/56DE48DF=Zerg voladores en camino
+Param/Value/7DA8CF3C=Colmena zerg enemiga
+Param/Value/83B2C689=Zerg voladores
+Param/Value/83CC929A=Colmena zerg enemiga
+Param/Value/925F6196=Inicio de Nova
+Param/Value/93C80E73=Fuerzas caídas recuperadas
+Param/Value/983D6990=Colmena zerg enemiga
+Param/Value/9AE4F875=Terminal de comunicaciones
+Param/Value/9B173852=5 días
+Param/Value/9B78F450=Cuartel establecido
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Actividad zerg
+Param/Value/A9946050=Destruir pústula de infestación
+Param/Value/B5607704=Fuerzas caídas
+Param/Value/BB612C74=Máximo de suministros alcanzado
+Param/Value/C4EBD9A3=Pústula de infestación avistada
+Param/Value/C798C786=¡Los zerg están por todas partes!
+Param/Value/C831499C=Pústula de infestación destruida
+Param/Value/D230CE18=Actividad zerg
+Param/Value/D59C3172=Centro de comunicaciones alcanzado
+Param/Value/D66F62C5=Han destruido todas tus estructuras.
+Param/Value/E0358B13=Cuartel establecido
+Param/Value/F1E6007B=¡Los zerg están entrando!
+Param/Value/F4988F5A=Ubicación de cuartel
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..3e13337043
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Inteligencia enemiga
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Fuerzas acuarteladas
+MapInfo/Player03/Name=Zerg salvaje
+MapInfo/Player04/Name=Zerg salvaje
+MapInfo/Player05/Name=Zerg salvaje
+MapInfo/Player06/Name=Defensores del hombre
+MapInfo/Player07/Name=Dominio terran
+MapInfo/Player08/Name=Zerg salvaje
+MapInfo/Player09/Name=Zerg salvaje
+MapInfo/Player10/Name=Zerg salvaje
+MapInfo/Player11/Name=Zerg salvaje
+MapInfo/Player12/Name=Unidades de cinemática
+MapInfo/Player13/Name=Hostil
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Usa Ataque arrasador
+Param/Value/052EFB6E=Nova ha muerto.
+Param/Value/05D115F6=Defensores del hombre asesinados
+Param/Value/21208026=Actividad zerg
+Param/Value/24A55886=Panel de comunicaciones
+Param/Value/296D1507=Demonio (26 muertes causadas)
+Param/Value/30FCFA14=Ubicación inicial
+Param/Value/326BD829=El oficial de la estación ha escapado.
+Param/Value/3C122C6A=Fuerzas derribadas
+Param/Value/3FE01CF1=Ubicación inicial
+Param/Value/52DC9371=Todas los cuarteles listos
+Param/Value/56DE48DF=Unidades zerg voladoras detectadas
+Param/Value/7DA8CF3C=Colmena zerg enemiga
+Param/Value/83B2C689=Unidades voladoras zerg
+Param/Value/83CC929A=Colmena zerg enemiga
+Param/Value/925F6196=Inicio de Nova
+Param/Value/93C80E73=Fuerzas derribadas rescatadas
+Param/Value/983D6990=Colmena zerg enemiga
+Param/Value/9AE4F875=Terminal de comunicaciones
+Param/Value/9B173852=5 días
+Param/Value/9B78F450=Cuartel completo
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Actividad zerg
+Param/Value/A9946050=Destruir la pústula de infestación
+Param/Value/B5607704=Fuerzas derribadas
+Param/Value/BB612C74=Suministro máximo alcanzado
+Param/Value/C4EBD9A3=Pústula de infestación a la vista
+Param/Value/C798C786=¡Zergs por doquier!
+Param/Value/C831499C=Pústula de infestación destruida
+Param/Value/D230CE18=Actividad zerg
+Param/Value/D59C3172=Panel de comunicaciones alcanzado
+Param/Value/D66F62C5=Han destruido todas tus estructuras.
+Param/Value/E0358B13=Cuartel completo
+Param/Value/F1E6007B=¡Incursión zerg!
+Param/Value/F4988F5A=Ubicación del cuartel
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..625fbd9430
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Renseignements ennemis
+MapInfo/Player00/Name=Neutre
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Troupes en garnison
+MapInfo/Player03/Name=Zerg sauvage
+MapInfo/Player04/Name=Zerg sauvage
+MapInfo/Player05/Name=Zerg sauvage
+MapInfo/Player06/Name=Défenseurs de l’humanité
+MapInfo/Player07/Name=Dominion terran
+MapInfo/Player08/Name=Zerg sauvage
+MapInfo/Player09/Name=Zerg sauvage
+MapInfo/Player10/Name=Zerg sauvage
+MapInfo/Player11/Name=Zerg sauvage
+MapInfo/Player12/Name=Unités de cinématique
+MapInfo/Player13/Name=Hostile
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Utilisez Lame éclair
+Param/Value/052EFB6E=Nova est morte.
+Param/Value/05D115F6=Unités des Défenseurs de l’humanité tuées
+Param/Value/21208026=Activité zerg
+Param/Value/24A55886=Centre de communications
+Param/Value/296D1507=Tourmenteur (26 victimes)
+Param/Value/30FCFA14=Position de départ
+Param/Value/326BD829=L’officier responsable s’est enfui.
+Param/Value/3C122C6A=Troupes abattues
+Param/Value/3FE01CF1=Position de départ
+Param/Value/52DC9371=Garnisons complètes
+Param/Value/56DE48DF=Zergs volants en approche
+Param/Value/7DA8CF3C=Ruche zerg ennemie
+Param/Value/83B2C689=Zergs volants
+Param/Value/83CC929A=Ruche zerg ennemie
+Param/Value/925F6196=Départ de Nova
+Param/Value/93C80E73=Troupes récupérées
+Param/Value/983D6990=Ruche zerg ennemie
+Param/Value/9AE4F875=Terminal de communication
+Param/Value/9B173852=5 jours
+Param/Value/9B78F450=Garnison complète
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Activité zerg
+Param/Value/A9946050=Détruisez la pustule de contamination
+Param/Value/B5607704=Troupes abattues
+Param/Value/BB612C74=Ravitaillement maximum atteint
+Param/Value/C4EBD9A3=Pustule de contamination répérée
+Param/Value/C798C786=Les Zergs sont partout !
+Param/Value/C831499C=Pustule de contamination détruite
+Param/Value/D230CE18=Activité zerg
+Param/Value/D59C3172=Centre de communications atteint
+Param/Value/D66F62C5=Tous vos bâtiments ont été détruits.
+Param/Value/E0358B13=Garnison complète
+Param/Value/F1E6007B=Les Zergs sont entrés !
+Param/Value/F4988F5A=Emplacement de garnison
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/itit.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..4888dd8c4f
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Spionaggio nemico
+MapInfo/Player00/Name=Neutrale
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Forze nella guarnigione
+MapInfo/Player03/Name=Zerg selvaggi
+MapInfo/Player04/Name=Zerg selvaggi
+MapInfo/Player05/Name=Zerg selvaggi
+MapInfo/Player06/Name=Difensori dell'Umanità
+MapInfo/Player07/Name=Dominio Terran
+MapInfo/Player08/Name=Zerg selvaggi
+MapInfo/Player09/Name=Zerg selvaggi
+MapInfo/Player10/Name=Zerg selvaggi
+MapInfo/Player11/Name=Zerg selvaggi
+MapInfo/Player12/Name=Unità filmato
+MapInfo/Player13/Name=Nemico
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Usa Attacco scattante
+Param/Value/052EFB6E=Nova è morta.
+Param/Value/05D115F6=Unità dei Difensori dell'Umanità eliminate
+Param/Value/21208026=Attività zerg
+Param/Value/24A55886=Centro comunicazioni
+Param/Value/296D1507=Hellion (26 uccisioni)
+Param/Value/30FCFA14=Posizione iniziale
+Param/Value/326BD829=L'ufficiale di stazionamento è fuggito.
+Param/Value/3C122C6A=Forze abbattute
+Param/Value/3FE01CF1=Posizione iniziale
+Param/Value/52DC9371=Tutte le guarnigioni al completo
+Param/Value/56DE48DF=Unità volanti zerg in arrivo
+Param/Value/7DA8CF3C=Colonia zerg nemica
+Param/Value/83B2C689=Unità volanti
+Param/Value/83CC929A=Colonia zerg nemica
+Param/Value/925F6196=Punto di partenza di Nova
+Param/Value/93C80E73=Forze abbattute recuperate
+Param/Value/983D6990=Colonia zerg nemica
+Param/Value/9AE4F875=Terminale
+Param/Value/9B173852=5 giorni
+Param/Value/9B78F450=Guarnigione completa
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Attività zerg
+Param/Value/A9946050=Distruggi Piaga infestante
+Param/Value/B5607704=Forze abbattute
+Param/Value/BB612C74=Rifornimenti massimi raggiunti
+Param/Value/C4EBD9A3=Piaga infestante avvistata
+Param/Value/C798C786=Gli zerg sono ovunque!
+Param/Value/C831499C=Piaga infestante distrutta
+Param/Value/D230CE18=Attività zerg
+Param/Value/D59C3172=Centro comunicazioni raggiunto
+Param/Value/D66F62C5=Tutte le tue strutture sono state distrutte.
+Param/Value/E0358B13=Guarnigione completa
+Param/Value/F1E6007B=Irruzione zerg!
+Param/Value/F4988F5A=Guarnigione
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..cb6a8afe64
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=첩보 작전 /// Enemy Intelligence
+MapInfo/Player00/Name=중립 /// Neutral
+MapInfo/Player01/Name=노바 /// Nova
+MapInfo/Player02/Name=주둔지 병력 /// Garrisoned Forces
+MapInfo/Player03/Name=야생 저그 /// Feral Zerg
+MapInfo/Player04/Name=야생 저그 /// Feral Zerg
+MapInfo/Player05/Name=야생 저그 /// Feral Zerg
+MapInfo/Player06/Name=인류의 수호자 /// Defenders of Man
+MapInfo/Player07/Name=테란 자치령 /// Terran Dominion
+MapInfo/Player08/Name=야생 저그 /// Feral Zerg
+MapInfo/Player09/Name=야생 저그 /// Feral Zerg
+MapInfo/Player10/Name=야생 저그 /// Feral Zerg
+MapInfo/Player11/Name=야생 저그 /// Feral Zerg
+MapInfo/Player12/Name=동영상 유닛
+MapInfo/Player13/Name=적대 /// Hostile
+Param/Expression/0F43735D=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Value/02BF0A0C=질주 공격 사용 /// Use Dash Attack
+Param/Value/052EFB6E=노바가 사망했습니다. /// Nova has died.
+Param/Value/05D115F6=처치한 인류의 수호자 유닛 /// Defenders of Man Units Killed
+Param/Value/21208026=저그 활동 /// Zerg Activity
+Param/Value/24A55886=통신 제어소 /// Communications Hub
+Param/Value/296D1507=화염차 (26 처치)
+Param/Value/30FCFA14=시작 장소 /// Start Location
+Param/Value/326BD829=기지 장교가 탈출했습니다.
+Param/Value/3C122C6A=추락한 병력 /// Downed Forces
+Param/Value/3FE01CF1=시작 장소 /// Start Location
+Param/Value/52DC9371=모든 주둔지 완료 /// All Garrisons Complete
+Param/Value/56DE48DF=저그 비행체 접근 중 /// Zerg Flyers Incoming
+Param/Value/7DA8CF3C=적 저그 군락지 /// Enemy Zerg Hive
+Param/Value/83B2C689=저그 비행체 /// Zerg Flyers
+Param/Value/83CC929A=적 저그 군락지 /// Enemy Zerg Hive
+Param/Value/925F6196=노바 시작
+Param/Value/93C80E73=추락한 병력 구출 /// Downed Forces Recovered
+Param/Value/983D6990=적 저그 군락지 /// Enemy Zerg Hive
+Param/Value/9AE4F875=통신 단말기 /// Communication Terminal
+Param/Value/9B173852=5일
+Param/Value/9B78F450=주둔지 완료 /// Garrison Complete
+Param/Value/A19877D7=노바 /// Nova
+Param/Value/A3A12973=저그 활동 /// Zerg Activity
+Param/Value/A9946050=감염 고름집 파괴 /// Destroy Infestation Pustule
+Param/Value/B5607704=추락한 병력 /// Downed Forces
+Param/Value/BB612C74=최대로 도달한 보급품 /// Maximum Supply Reached
+Param/Value/C4EBD9A3=감염 고름집 확인 /// Infestation Pustule Sighted
+Param/Value/C798C786=사방이 저그!
+Param/Value/C831499C=감염 고름집 파괴 /// Infestation Pustule Destroyed
+Param/Value/D230CE18=저그 활동 /// Zerg Activity
+Param/Value/D59C3172=통신 제어소 도착 /// Communications Hub Reached
+Param/Value/D66F62C5=구조물이 모두 파괴되었습니다. /// All of your structures have been destroyed.
+Param/Value/E0358B13=주둔지 완료 /// Garrison Completed
+Param/Value/F1E6007B=저그 침투!
+Param/Value/F4988F5A=주둔지 장소 /// Garrison Location
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..c58aca5408
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Wywiad wroga
+MapInfo/Player00/Name=Neutralny
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Garnizon
+MapInfo/Player03/Name=Zdziczałe zergi
+MapInfo/Player04/Name=Zdziczałe zergi
+MapInfo/Player05/Name=Zdziczałe zergi
+MapInfo/Player06/Name=Obrońcy Ludzkości
+MapInfo/Player07/Name=Dominium Terran
+MapInfo/Player08/Name=Zdziczałe zergi
+MapInfo/Player09/Name=Zdziczały zerg
+MapInfo/Player10/Name=Zdziczały zerg
+MapInfo/Player11/Name=Zdziczały zerg
+MapInfo/Player12/Name=Filmik, Jednostki
+MapInfo/Player13/Name=Wróg
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Użyj Wypadu
+Param/Value/052EFB6E=Nova zginęła.
+Param/Value/05D115F6=Zabite jednostki Obrońców Ludzkości
+Param/Value/21208026=Aktywność zergów
+Param/Value/24A55886=Terminal łączności
+Param/Value/296D1507=Helion (26 zabitych)
+Param/Value/30FCFA14=Lokalizacja początkowa
+Param/Value/326BD829=Oficer dyżurny uciekł.
+Param/Value/3C122C6A=Oddział jeńców
+Param/Value/3FE01CF1=Lokacja początkowa
+Param/Value/52DC9371=Wszystkie garnizony gotowe
+Param/Value/56DE48DF=Nadciągają latające zergi
+Param/Value/7DA8CF3C=Ul wrogich zergów
+Param/Value/83B2C689=Latające zergi
+Param/Value/83CC929A=Ul wrogich zergów
+Param/Value/925F6196=Miejsce, gdzie zaczyna Nova
+Param/Value/93C80E73=Uratowany oddział jeńców
+Param/Value/983D6990=Ul wrogich zergów
+Param/Value/9AE4F875=Terminal łączności
+Param/Value/9B173852=5 dni
+Param/Value/9B78F450=Garnizon gotowy
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Aktywność zergów
+Param/Value/A9946050=Zniszcz pęcherz infekcji
+Param/Value/B5607704=Oddział jeńców
+Param/Value/BB612C74=Maksymalne osiągnięte zaopatrzenie
+Param/Value/C4EBD9A3=Zauważono pęcherz infekcji
+Param/Value/C798C786=Zergi są wszędzie!
+Param/Value/C831499C=Zniszczono pęcherz infekcji
+Param/Value/D230CE18=Aktywność zergów
+Param/Value/D59C3172=Dotarto do terminala łączności
+Param/Value/D66F62C5=Wszystkie twoje budowle zostały zniszczone.
+Param/Value/E0358B13=Garnizon gotowy
+Param/Value/F1E6007B=Zergi się wdzierają!
+Param/Value/F4988F5A=Miejsce pod garnizon
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..a90d6859d4
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Informação Inimiga
+MapInfo/Player00/Name=Neutro
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Forças Aquarteladas
+MapInfo/Player03/Name=Zerg Selvagem
+MapInfo/Player04/Name=Zerg Selvagem
+MapInfo/Player05/Name=Zerg Selvagem
+MapInfo/Player06/Name=Defensores do Homem
+MapInfo/Player07/Name=Supremacia Terrana
+MapInfo/Player08/Name=Zerg Selvagem
+MapInfo/Player09/Name=Zerg Selvagem
+MapInfo/Player10/Name=Zerg Selvagem
+MapInfo/Player11/Name=Zerg Selvagem
+MapInfo/Player12/Name=Unidades de Cinemática
+MapInfo/Player13/Name=Inimigo
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Usar Ataque de Investida
+Param/Value/052EFB6E=Nova morreu.
+Param/Value/05D115F6=Unidades dos Defensores do Homem abatidas
+Param/Value/21208026=Atividade zerg
+Param/Value/24A55886=Central de Comunicação
+Param/Value/296D1507=Endiabrado (26 abates)
+Param/Value/30FCFA14=Localização Inicial
+Param/Value/326BD829=O Oficial da Estação escapou.
+Param/Value/3C122C6A=Forças Derrotadas
+Param/Value/3FE01CF1=Localização Inicial
+Param/Value/52DC9371=Todas as guarnições completadas
+Param/Value/56DE48DF=Voadores zergs se aproximando
+Param/Value/7DA8CF3C=Colmeia Zerg Inimiga
+Param/Value/83B2C689=Voadores Zergs
+Param/Value/83CC929A=Colmeia Zerg Inimiga
+Param/Value/925F6196=Início de Nova
+Param/Value/93C80E73=Forças derrotadas recuperadas
+Param/Value/983D6990=Colmeia Zerg Inimiga
+Param/Value/9AE4F875=Terminal de Comunicação
+Param/Value/9B173852=5 dias
+Param/Value/9B78F450=Guarnição Completada
+Param/Value/A19877D7=Nova
+Param/Value/A3A12973=Atividade zerg
+Param/Value/A9946050=Destrua a Pústula de Infestação
+Param/Value/B5607704=Forças Derrotadas
+Param/Value/BB612C74=Máximo de suprimentos alcançado
+Param/Value/C4EBD9A3=Pústula de Infestação avistada
+Param/Value/C798C786=Zergs por toda parte!
+Param/Value/C831499C=Pústula de Infestação destruída
+Param/Value/D230CE18=Atividade zerg
+Param/Value/D59C3172=Central de Comunicação Alcançada
+Param/Value/D66F62C5=Todas as suas estruturas foram destruídas.
+Param/Value/E0358B13=Guarnição Completada
+Param/Value/F1E6007B=Zergs invadindo!
+Param/Value/F4988F5A=Local da Guarnição
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..974cb1a1c0
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=Разведданные
+MapInfo/Player00/Name=Нейтральный
+MapInfo/Player01/Name=Нова
+MapInfo/Player02/Name=Войска в укреплении
+MapInfo/Player03/Name=Дикие зерги
+MapInfo/Player04/Name=Дикие зерги
+MapInfo/Player05/Name=Дикие зерги
+MapInfo/Player06/Name=Защитники человечества
+MapInfo/Player07/Name=Доминион терранов
+MapInfo/Player08/Name=Дикие зерги
+MapInfo/Player09/Name=Дикие зерги
+MapInfo/Player10/Name=Дикие зерги
+MapInfo/Player11/Name=Дикие зерги
+MapInfo/Player12/Name=Cinematic Units
+MapInfo/Player13/Name=Противник
+Param/Expression/0F43735D=~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~)
+Param/Value/02BF0A0C=Используйте «Рывок»
+Param/Value/052EFB6E=Нова погибла.
+Param/Value/05D115F6=Убито бойцов «Защитников человечества»
+Param/Value/21208026=Атака зергов
+Param/Value/24A55886=Узел связи
+Param/Value/296D1507=«Геллион» (26 убийств)
+Param/Value/30FCFA14=Стартовая позиция
+Param/Value/326BD829=Офицер станции сбежал.
+Param/Value/3C122C6A=Выжившие с корабля «Защитников»
+Param/Value/3FE01CF1=Стартовая позиция
+Param/Value/52DC9371=Все укрепления заняты
+Param/Value/56DE48DF=Воздушная атака зергов
+Param/Value/7DA8CF3C=Вражеский улей зергов
+Param/Value/83B2C689=Летающие зерги
+Param/Value/83CC929A=Вражеский улей зергов
+Param/Value/925F6196=Нова: начало
+Param/Value/93C80E73=Выжившие с корабля «Защитников» спасены
+Param/Value/983D6990=Вражеский улей зергов
+Param/Value/9AE4F875=Узел связи
+Param/Value/9B173852=5 дней
+Param/Value/9B78F450=Укрепление занято
+Param/Value/A19877D7=Нова
+Param/Value/A3A12973=Атака зергов
+Param/Value/A9946050=Уничтожьте пустулу заражения
+Param/Value/B5607704=Выжившие с корабля «Защитников»
+Param/Value/BB612C74=Максимальный размер армии
+Param/Value/C4EBD9A3=Пустула заражения обнаружена
+Param/Value/C798C786=Зерги повсюду!
+Param/Value/C831499C=Пустула заражения уничтожена
+Param/Value/D230CE18=Атака зергов
+Param/Value/D59C3172=Вы достигли узла связи
+Param/Value/D66F62C5=Все ваши строения уничтожены.
+Param/Value/E0358B13=Укрепление занято
+Param/Value/F1E6007B=Зерги прорываются!
+Param/Value/F4988F5A=Укрепленная позиция
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..00e4e21fe8
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1
+DocInfo/Name=敌方情报 /// Enemy Intelligence
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=诺娃 /// Nova
+MapInfo/Player02/Name=驻扎的部队 /// Garrisoned Forces
+MapInfo/Player03/Name=野生异虫 /// Feral Zerg
+MapInfo/Player04/Name=野生异虫 /// Feral Zerg
+MapInfo/Player05/Name=野生异虫 /// Feral Zerg
+MapInfo/Player06/Name=人类保卫者 /// Defenders of Man
+MapInfo/Player07/Name=泰伦帝国 /// Terran Dominion
+MapInfo/Player08/Name=野生异虫 /// Feral Zerg
+MapInfo/Player09/Name=野生异虫 /// Feral Zerg
+MapInfo/Player10/Name=野生异虫 /// Feral Zerg
+MapInfo/Player11/Name=野生异虫 /// Feral Zerg
+MapInfo/Player12/Name=电影场景单位
+MapInfo/Player13/Name=敌对
+Param/Expression/0F43735D=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~ (~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Value/02BF0A0C=使用突杀 /// Use Dash Attack
+Param/Value/052EFB6E=诺娃死了。 /// Nova has died.
+Param/Value/05D115F6=消灭的人类保卫者单位 /// Defenders of Man Units Killed
+Param/Value/21208026=异虫活动
+Param/Value/24A55886=通讯中心
+Param/Value/296D1507=恶火(26击杀)
+Param/Value/30FCFA14=出生位置 /// Start Location
+Param/Value/326BD829=站长已逃离。
+Param/Value/3C122C6A=被击落的部队 /// Downed Forces
+Param/Value/3FE01CF1=出生位置 /// Start Location
+Param/Value/52DC9371=所有驻守完毕
+Param/Value/56DE48DF=异虫飞行单位袭来
+Param/Value/7DA8CF3C=敌方异虫主巢 /// Enemy Zerg Hive
+Param/Value/83B2C689=异虫飞行单位
+Param/Value/83CC929A=敌方异虫主巢 /// Enemy Zerg Hive
+Param/Value/925F6196=诺娃开始 /// Nova Start
+Param/Value/93C80E73=被击落的部队已营救 /// Downed Forces Recovered
+Param/Value/983D6990=敌方异虫主巢 /// Enemy Zerg Hive
+Param/Value/9AE4F875=通讯终端
+Param/Value/9B173852=5天
+Param/Value/9B78F450=驻守完毕 /// Garrison Complete
+Param/Value/A19877D7=诺娃 /// Nova
+Param/Value/A3A12973=异虫活动 /// Zerg Activity
+Param/Value/A9946050=摧毁感染脓包 /// Destroy Infestation Pustule
+Param/Value/B5607704=被击落的部队 /// Downed Forces
+Param/Value/BB612C74=已达补给上限 /// Maximum Supply Reached
+Param/Value/C4EBD9A3=感染脓包已发现
+Param/Value/C798C786=异虫到处都是!
+Param/Value/C831499C=感染脓包已摧毁 /// Infestation Pustule Destroyed
+Param/Value/D230CE18=异虫活动 /// Zerg Activity
+Param/Value/D59C3172=通讯中心已抵达
+Param/Value/D66F62C5=你所有的建筑都被摧毁了。 /// All of your structures have been destroyed.
+Param/Value/E0358B13=驻守完毕 /// Garrison Completed
+Param/Value/F1E6007B=异虫突破了!
+Param/Value/F4988F5A=驻守位置
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..1c9428d1c3
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nova03.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,59 @@
+DocInfo/DescShort=1 /// 1
+DocInfo/Name=刺探敵情 /// Enemy Intelligence
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=諾娃 /// Nova
+MapInfo/Player02/Name=派駐的部隊 /// Garrisoned Forces
+MapInfo/Player03/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player04/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player05/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player06/Name=人類守護組織 /// Defenders of Man
+MapInfo/Player07/Name=泰倫自治聯盟 /// Terran Dominion
+MapInfo/Player08/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player09/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player10/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player11/Name=野生蟲族 /// Feral Zerg
+MapInfo/Player12/Name=影片單位
+MapInfo/Player13/Name=敵對
+Param/Expression/0F43735D=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/14AA26BE=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/1581BE99=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/3A41E3EC=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/5337C10D=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/5363380A=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/D523ADC7=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Expression/D9156B0B=~A~(~B~/~C~) /// ~A~ (~B~/~C~)
+Param/Value/02BF0A0C=使用衝鋒攻擊 /// Use Dash Attack
+Param/Value/052EFB6E=諾娃陣亡了。 /// Nova has died.
+Param/Value/05D115F6=殺死的人類守護組織單位 /// Defenders of Man Units Killed
+Param/Value/21208026=蟲族活動 /// Zerg Activity
+Param/Value/24A55886=通訊控制中心 /// Communications Hub
+Param/Value/296D1507=惡狼(26次擊殺)
+Param/Value/30FCFA14=起始地點 /// Start Location
+Param/Value/326BD829=基地軍官逃走了。 /// Station Officer has escaped.
+Param/Value/3C122C6A=被擊落的部隊 /// Downed Forces
+Param/Value/3FE01CF1=起始地點 /// Start Location
+Param/Value/52DC9371=所有陣地皆進駐完畢
+Param/Value/56DE48DF=蟲族空中單位來襲 /// Zerg Flyers Incoming
+Param/Value/7DA8CF3C=敵方蟲族蟲巢 /// Enemy Zerg Hive
+Param/Value/83B2C689=蟲族空中單位 /// Zerg Flyers
+Param/Value/83CC929A=敵方蟲族蟲巢 /// Enemy Zerg Hive
+Param/Value/925F6196=諾娃 - 開始 /// Nova Start
+Param/Value/93C80E73=已救回被擊落的部隊 /// Downed Forces Recovered
+Param/Value/983D6990=敵方蟲族蟲巢 /// Enemy Zerg Hive
+Param/Value/9AE4F875=通訊控制台 /// Communication Terminal
+Param/Value/9B173852=5天
+Param/Value/9B78F450=派駐完成 /// Garrison Complete
+Param/Value/A19877D7=諾娃 /// Nova
+Param/Value/A3A12973=蟲族活動 /// Zerg Activity
+Param/Value/A9946050=摧毀感染瘤 /// Destroy Infestation Pustule
+Param/Value/B5607704=被擊落的部隊 /// Downed Forces
+Param/Value/BB612C74=達到的最高補給值
+Param/Value/C4EBD9A3=已發現感染瘤 /// Infestation Pustule Sighted
+Param/Value/C798C786=到處都是蟲族!
+Param/Value/C831499C=已摧毀感染瘤 /// Infestation Pustule Destroyed
+Param/Value/D230CE18=蟲族活動 /// Zerg Activity
+Param/Value/D59C3172=已抵達通訊控制中心 /// Communications Hub Reached
+Param/Value/D66F62C5=你所有的建築已被摧毀。 /// All of your structures have been destroyed.
+Param/Value/E0358B13=派駐完成 /// Garrison Completed
+Param/Value/F1E6007B=蟲族入侵了! /// Zerg Break In!
+Param/Value/F4988F5A=陣地位置 /// Garrison Location
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/BankList.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/BankList.xml
index e69de29bb2..21021f1ffa 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/BankList.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/BankList.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ComponentList.SC2Components b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ComponentList.SC2Components
index e69de29bb2..b64084efd0 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ComponentList.SC2Components
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ComponentList.SC2Components
@@ -0,0 +1,19 @@
+
+
+ GameData
+ GameText
+ DocumentInfo
+ MapInfo
+ Triggers
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+ GameText
+
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentHeader b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentHeader
new file mode 100644
index 0000000000..fe70946573
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentHeader differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo
index e69de29bb2..b9ee9a0f91 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo
@@ -0,0 +1,13 @@
+
+
+
+ Interface
+
+
+ file:Mods\MissionPacks\NovaCampaign.SC2Mod
+ file:Mods\missionpacks/campaigncommon.sc2mod
+
+
+ GameLink:Texture;video_newsreport_smx3_mp01_030
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo.version
new file mode 100644
index 0000000000..5e10dfddff
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/DocumentInfo.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/GameData.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/GameData.version
new file mode 100644
index 0000000000..a084f483b7
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/GameData.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/GameText.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/GameText.version
new file mode 100644
index 0000000000..9d422a4cee
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/GameText.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapInfo b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapInfo
new file mode 100644
index 0000000000..a7ad5f5782
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapInfo differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapInfo.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapInfo.version
new file mode 100644
index 0000000000..640a61561f
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapInfo.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapScript.galaxy b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapScript.galaxy
index e69de29bb2..c2478fcedf 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapScript.galaxy
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/MapScript.galaxy
@@ -0,0 +1,1501 @@
+//==================================================================================================
+//
+// Generated Map Script
+//
+// Name: Nova Story
+//
+//==================================================================================================
+include "TriggerLibs/NativeLib"
+include "LibComC"
+include "LibNovC"
+include "LibNCST"
+
+//--------------------------------------------------------------------------------------------------
+// Library Initialization
+//--------------------------------------------------------------------------------------------------
+void InitLibs () {
+ libNtve_InitLib();
+ libComC_InitLib();
+ libNovC_InitLib();
+ libNCST_InitLib();
+}
+
+//--------------------------------------------------------------------------------------------------
+// Global Variables
+//--------------------------------------------------------------------------------------------------
+bool gv_storymodeEntered;
+bool gv_storySoFarScreenFinished;
+int gv_storySoFarDialog;
+int gv_storySoFarPanel;
+int gv_storySoFarTextBlock1;
+int gv_storySoFarTextBlock2;
+int gv_storySoFarTextBlock3;
+int gv_storySoFarPressAnyKeyLabel;
+actor gv_mP01_030_NewsScreen;
+actor gv_mP02_020_Screen;
+actor gv_mP02_040_Screen;
+actor gv_mP03_040_Screen;
+
+void InitGlobals () {
+ gv_storySoFarDialog = c_invalidDialogId;
+ gv_storySoFarPanel = c_invalidDialogControlId;
+ gv_storySoFarTextBlock1 = c_invalidDialogControlId;
+ gv_storySoFarTextBlock2 = c_invalidDialogControlId;
+ gv_storySoFarTextBlock3 = c_invalidDialogControlId;
+ gv_storySoFarPressAnyKeyLabel = c_invalidDialogControlId;
+}
+
+//--------------------------------------------------------------------------------------------------
+// Global Function Declarations
+//--------------------------------------------------------------------------------------------------
+void gf_StorySoFarMP02Create ();
+void gf_StorySoFarMP02Destroy ();
+void gf_StorySoFarMP03Create ();
+void gf_StorySoFarMP03Destroy ();
+int gf_EntryRoom ();
+
+//--------------------------------------------------------------------------------------------------
+// Trigger Variables
+//--------------------------------------------------------------------------------------------------
+trigger gt_MapInit;
+trigger gt_Init01StoryData;
+trigger gt_Init02Rooms;
+trigger gt_Init03Scenes;
+trigger gt_BeginStorymode;
+trigger gt_RoomPrepareVoid;
+trigger gt_RoomViewVoid;
+trigger gt_RoomViewStopVoid;
+trigger gt_RoomEntered;
+trigger gt_MovingToRoom;
+trigger gt_StorySoFarAnyButtonPressed;
+trigger gt_UpdateUnitRooms;
+trigger gt_ScenesPlayStorymodeEntry;
+trigger gt_ScenesMP01_010;
+trigger gt_ScenesMP01_020;
+trigger gt_ScenesMP01_020Timestamp;
+trigger gt_ScenesMP01_030;
+trigger gt_ScenesMP01_035;
+trigger gt_ScenesMP01_030PlayRTTMovie;
+trigger gt_ScenesMP01_030UpdateScreenAttachment;
+trigger gt_ScenesMP01_030StopNews;
+trigger gt_ScenesMP01_030RemoveScreen;
+trigger gt_ScenesMP01_040;
+trigger gt_ScenesMP02_005;
+trigger gt_ScenesMP02_010;
+trigger gt_ScenesNova04VoidRay;
+trigger gt_ScenesMP02_020;
+trigger gt_ScenesMP02_020PlayRTTMovie;
+trigger gt_ScenesMP02_020StopNews;
+trigger gt_ScenesMP02_020RemoveScreen;
+trigger gt_ScenesMP02_025;
+trigger gt_ScenesMP02_030;
+trigger gt_ScenesMP02_030EchoOn;
+trigger gt_ScenesMP02_030EchoOff;
+trigger gt_ScenesMP02_030Timestamp;
+trigger gt_ScenesMP02_035;
+trigger gt_ScenesMP02_040;
+trigger gt_ScenesMP02_040EchoOn;
+trigger gt_ScenesMP02_040EchoOff;
+trigger gt_ScenesMP02_040Timestamp;
+trigger gt_ScenesMP02_040RTTScreenCreate;
+trigger gt_ScenesMP02_040PlayRTTMovie;
+trigger gt_ScenesMP02_040StopMovie;
+trigger gt_ScenesMP03_010;
+trigger gt_ScenesMP03_010Timestamp;
+trigger gt_ScenesMP03_020;
+trigger gt_ScenesMP03_030;
+trigger gt_ScenesMP03_035;
+trigger gt_ScenesMP03_035Timestamp;
+trigger gt_ScenesMP03_040;
+trigger gt_ScenesMP03_040OGVScreenCreate;
+trigger gt_ScenesMP03_040PlayOGVMovie;
+trigger gt_ScenesMP03_040StopMovie;
+trigger gt_DEBUGReleaseCam;
+
+//--------------------------------------------------------------------------------------------------
+// Global Functions
+//--------------------------------------------------------------------------------------------------
+void gf_StorySoFarMP02Create () {
+ // Implementation
+ DialogCreate(500, 400, c_anchorCenter, 0, 0, true);
+ DialogSetFullscreen(DialogLastCreated(), true);
+ DialogSetImageVisible(DialogLastCreated(), false);
+ gv_storySoFarDialog = DialogLastCreated();
+ DialogControlCreateFromTemplate(gv_storySoFarDialog, c_triggerControlTypePanel, "Nova_StorySoFarMP02/StorySoFarPanel");
+ gv_storySoFarPanel = DialogControlLastCreated();
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "Title");
+ libNtve_gf_SetDialogItemText(DialogControlLastCreated(), ConversationDataStateText("StoryModeText|StorySoFarTitleMP02", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "TextBlock1");
+ gv_storySoFarTextBlock1 = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarTextBlock1, ConversationDataStateText("StoryModeText|StorySoFarTextBlock01MP02", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "TextBlock2");
+ gv_storySoFarTextBlock2 = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarTextBlock2, ConversationDataStateText("StoryModeText|StorySoFarTextBlock02MP02", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "TextBlock3");
+ gv_storySoFarTextBlock3 = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarTextBlock3, ConversationDataStateText("StoryModeText|StorySoFarTextBlock03MP02", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "PressAnyKey");
+ gv_storySoFarPressAnyKeyLabel = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarPressAnyKeyLabel, ConversationDataStateText("StoryModeText|StorySoFarKeyPressTextMP02", "Description"), PlayerGroupAll());
+ DialogSetVisible(gv_storySoFarDialog, PlayerGroupAll(), true);
+ libNtve_gf_HideGameUI(false, PlayerGroupAll());
+ UISetCursorVisible(PlayerGroupAll(), false);
+ SoundtrackPlay(PlayerGroupAll(), c_soundtrackCategoryMusic, "nDLC_Music_StorySoFarMP02", c_soundtrackCueAny, c_soundtrackIndexAny, false);
+ libComC_gf_CinematicFade(false, 0.0, Color(0.00, 0.00, 0.00), true);
+ Wait(0.1, c_timeReal);
+ libComC_gf_CinematicFade(true, 1.0, Color(0.00, 0.00, 0.00), true);
+ TriggerEnable(gt_StorySoFarAnyButtonPressed, true);
+}
+
+void gf_StorySoFarMP02Destroy () {
+ // Implementation
+ SoundtrackStop(PlayerGroupAll(), c_soundtrackCategoryMusic, true);
+ libComC_gf_CinematicFade(false, 0.7, Color(0.00, 0.00, 0.00), true);
+ DialogDestroy(gv_storySoFarDialog);
+ libComC_gf_CinematicFade(true, 0.0, Color(0.00, 0.00, 0.00), true);
+ Wait(1.0, c_timeReal);
+ UISetCursorVisible(PlayerGroupAll(), true);
+ libNtve_gf_HideGameUI(true, PlayerGroupAll());
+}
+
+void gf_StorySoFarMP03Create () {
+ // Implementation
+ DialogCreate(500, 400, c_anchorCenter, 0, 0, true);
+ DialogSetFullscreen(DialogLastCreated(), true);
+ DialogSetImageVisible(DialogLastCreated(), false);
+ gv_storySoFarDialog = DialogLastCreated();
+ DialogControlCreateFromTemplate(gv_storySoFarDialog, c_triggerControlTypePanel, "Nova_StorySoFarMP02/StorySoFarPanel");
+ gv_storySoFarPanel = DialogControlLastCreated();
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "Title");
+ libNtve_gf_SetDialogItemText(DialogControlLastCreated(), ConversationDataStateText("StoryModeText|StorySoFarTitleMP03", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "TextBlock1");
+ gv_storySoFarTextBlock1 = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarTextBlock1, ConversationDataStateText("StoryModeText|StorySoFarTextBlock01MP03", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "TextBlock2");
+ gv_storySoFarTextBlock2 = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarTextBlock2, ConversationDataStateText("StoryModeText|StorySoFarTextBlock02MP03", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "TextBlock3");
+ gv_storySoFarTextBlock3 = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarTextBlock3, ConversationDataStateText("StoryModeText|StorySoFarTextBlock03MP03", "Description"), PlayerGroupAll());
+ DialogControlHookup(gv_storySoFarPanel, c_triggerControlTypeLabel, "PressAnyKey");
+ gv_storySoFarPressAnyKeyLabel = DialogControlLastCreated();
+ libNtve_gf_SetDialogItemText(gv_storySoFarPressAnyKeyLabel, ConversationDataStateText("StoryModeText|StorySoFarKeyPressTextMP03", "Description"), PlayerGroupAll());
+ DialogSetVisible(gv_storySoFarDialog, PlayerGroupAll(), true);
+ libNtve_gf_HideGameUI(false, PlayerGroupAll());
+ UISetCursorVisible(PlayerGroupAll(), false);
+ SoundtrackPlay(PlayerGroupAll(), c_soundtrackCategoryMusic, "nDLC_Music_StorySoFarMP02", c_soundtrackCueAny, c_soundtrackIndexAny, false);
+ libComC_gf_CinematicFade(false, 0.0, Color(0.00, 0.00, 0.00), true);
+ Wait(0.1, c_timeReal);
+ libComC_gf_CinematicFade(true, 1.0, Color(0.00, 0.00, 0.00), true);
+ TriggerEnable(gt_StorySoFarAnyButtonPressed, true);
+}
+
+void gf_StorySoFarMP03Destroy () {
+ // Implementation
+ SoundtrackStop(PlayerGroupAll(), c_soundtrackCategoryMusic, true);
+ libComC_gf_CinematicFade(false, 0.7, Color(0.00, 0.00, 0.00), true);
+ DialogDestroy(gv_storySoFarDialog);
+ libComC_gf_CinematicFade(true, 0.0, Color(0.00, 0.00, 0.00), true);
+ Wait(1.0, c_timeReal);
+ UISetCursorVisible(PlayerGroupAll(), true);
+ libNtve_gf_HideGameUI(true, PlayerGroupAll());
+}
+
+int gf_EntryRoom () {
+ // Implementation
+ if ((libComC_gf_LastMapConditionCheck(libComC_ge_MissionCondition_Simulation) == true) && (libComC_gf_CampaignMapTypeCheck(libComC_gf_LastMission(), c_mapKindStory) == false)) {
+ libNCST_gf_SetInArchives(true);
+ return libNCST_ge_Rooms_StoryRoomMissionArchives;
+ }
+
+ return libNCST_ge_Rooms_StoryRoomMissionScreen;
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Map Init
+//--------------------------------------------------------------------------------------------------
+bool gt_MapInit_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNtve_gf_StoryMode(PlayerGroupAll(), true);
+ TriggerExecute(gt_Init01StoryData, true, true);
+ TriggerExecute(gt_Init02Rooms, true, false);
+ TriggerExecute(gt_Init03Scenes, true, false);
+ TriggerExecute(gt_BeginStorymode, true, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_MapInit_Init () {
+ gt_MapInit = TriggerCreate("gt_MapInit_Func");
+ TriggerAddEventMapInit(gt_MapInit);
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Init 01 Story Data
+//--------------------------------------------------------------------------------------------------
+bool gt_Init01StoryData_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_InitializeNovaStorymode("NStory01");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_Init01StoryData_Init () {
+ gt_Init01StoryData = TriggerCreate("gt_Init01StoryData_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Init 02 Rooms
+//--------------------------------------------------------------------------------------------------
+bool gt_Init02Rooms_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_RegisterRoom(libNCST_ge_Rooms_StoryRoomVoid, gt_RoomPrepareVoid, gt_RoomViewVoid, gt_RoomViewStopVoid, null, null);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_Init02Rooms_Init () {
+ gt_Init02Rooms = TriggerCreate("gt_Init02Rooms_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Init 03 Scenes
+//--------------------------------------------------------------------------------------------------
+bool gt_Init03Scenes_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_RegisterStorymodeScene("MP01_010", gt_ScenesMP01_010);
+ libNCST_gf_RegisterStorymodeScene("MP01_020", gt_ScenesMP01_020);
+ libNCST_gf_RegisterStorymodeScene("MP01_030", gt_ScenesMP01_030);
+ libNCST_gf_RegisterStorymodeScene("MP01_035", gt_ScenesMP01_035);
+ libNCST_gf_RegisterStorymodeScene("MP01_040", gt_ScenesMP01_040);
+ libNCST_gf_RegisterStorymodeScene("MP02_005", gt_ScenesMP02_005);
+ libNCST_gf_RegisterStorymodeScene("MP02_010", gt_ScenesMP02_010);
+ libNCST_gf_RegisterStorymodeScene("MP02_020", gt_ScenesMP02_020);
+ libNCST_gf_RegisterStorymodeScene("MP02_025", gt_ScenesMP02_025);
+ libNCST_gf_RegisterStorymodeScene("MP02_030", gt_ScenesMP02_030);
+ libNCST_gf_RegisterStorymodeScene("MP02_035", gt_ScenesMP02_035);
+ libNCST_gf_RegisterStorymodeScene("MP02_040", gt_ScenesMP02_040);
+ libNCST_gf_RegisterStorymodeScene("MP03_010", gt_ScenesMP03_010);
+ libNCST_gf_RegisterStorymodeScene("MP03_020", gt_ScenesMP03_020);
+ libNCST_gf_RegisterStorymodeScene("MP03_030", gt_ScenesMP03_030);
+ libNCST_gf_RegisterStorymodeScene("MP03_035", gt_ScenesMP03_035);
+ libNCST_gf_RegisterStorymodeScene("MP03_040", gt_ScenesMP03_040);
+ libNCST_gf_RegisterStorymodeScene("Nova04VoidRay", gt_ScenesNova04VoidRay);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_Init03Scenes_Init () {
+ gt_Init03Scenes = TriggerCreate("gt_Init03Scenes_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Begin Storymode
+//--------------------------------------------------------------------------------------------------
+bool gt_BeginStorymode_Func (bool testConds, bool runActions) {
+ // Variable Declarations
+ unit lv_indexUnit;
+
+ // Variable Initialization
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerExecute(gt_UpdateUnitRooms, true, false);
+ if ((libComC_gf_CampaignIsComplete() == true)) {
+ libNCST_gf_EnterRoom(libNCST_ge_Rooms_StoryRoomMissionArchives);
+ return true;
+ }
+
+ gv_storymodeEntered = true;
+ if ((libComC_gf_LastMap() == null) && (libNovC_gf_CampaignDebugModeIsOn("StoryCheat") == true)) {
+ libNCST_gf_EnterRoom(gf_EntryRoom());
+ libNCST_gf_EnterRoom(libNCST_ge_Rooms_StoryRoomDebugStoryCheat);
+ return true;
+ }
+
+ TriggerExecute(gt_ScenesPlayStorymodeEntry, true, true);
+ libNCST_gf_EnterRoom(gf_EntryRoom());
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_BeginStorymode_Init () {
+ gt_BeginStorymode = TriggerCreate("gt_BeginStorymode_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Room Prepare - Void
+//--------------------------------------------------------------------------------------------------
+bool gt_RoomPrepareVoid_Func (bool testConds, bool runActions) {
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_RoomPrepareVoid_Init () {
+ gt_RoomPrepareVoid = TriggerCreate("gt_RoomPrepareVoid_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Room View - Void
+//--------------------------------------------------------------------------------------------------
+bool gt_RoomViewVoid_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ UISetWorldVisible(PlayerGroupAll(), true);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_RoomViewVoid_Init () {
+ gt_RoomViewVoid = TriggerCreate("gt_RoomViewVoid_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Room View Stop - Void
+//--------------------------------------------------------------------------------------------------
+bool gt_RoomViewStopVoid_Func (bool testConds, bool runActions) {
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_RoomViewStopVoid_Init () {
+ gt_RoomViewStopVoid = TriggerCreate("gt_RoomViewStopVoid_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Room Entered
+//--------------------------------------------------------------------------------------------------
+bool gt_RoomEntered_Func (bool testConds, bool runActions) {
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_RoomEntered_Init () {
+ gt_RoomEntered = TriggerCreate("gt_RoomEntered_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Moving To Room
+//--------------------------------------------------------------------------------------------------
+bool gt_MovingToRoom_Func (bool testConds, bool runActions) {
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_MovingToRoom_Init () {
+ gt_MovingToRoom = TriggerCreate("gt_MovingToRoom_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Story So Far Any Button Pressed
+//--------------------------------------------------------------------------------------------------
+bool gt_StorySoFarAnyButtonPressed_Func (bool testConds, bool runActions) {
+ // Conditions
+ if (testConds) {
+ if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
+ return false;
+ }
+ }
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ gv_storySoFarScreenFinished = true;
+ TriggerEnable(TriggerGetCurrent(), false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_StorySoFarAnyButtonPressed_Init () {
+ gt_StorySoFarAnyButtonPressed = TriggerCreate("gt_StorySoFarAnyButtonPressed_Func");
+ TriggerEnable(gt_StorySoFarAnyButtonPressed, false);
+ TriggerAddEventKeyPressed(gt_StorySoFarAnyButtonPressed, c_playerAny, c_keyNone, false, c_keyModifierStateIgnore, c_keyModifierStateIgnore, c_keyModifierStateIgnore);
+ TriggerAddEventMouseClicked(gt_StorySoFarAnyButtonPressed, c_playerAny, c_mouseButtonNone, false);
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Update Unit Rooms
+//--------------------------------------------------------------------------------------------------
+bool gt_UpdateUnitRooms_Func (bool testConds, bool runActions) {
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_UpdateUnitRooms_Init () {
+ gt_UpdateUnitRooms = TriggerCreate("gt_UpdateUnitRooms_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - Play Storymode Entry
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesPlayStorymodeEntry_Func (bool testConds, bool runActions) {
+ string auto7640A032_val;
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ if ((libComC_gf_LastMap() == null)) {
+ return true;
+ }
+
+ if (((libComC_gf_LastMapConditionCheck(libComC_ge_MissionCondition_Sucessful) == false) || (libComC_gf_CampaignMapTypeCheck(libComC_gf_LastMap(), c_mapKindMission) == false) || (libComC_gf_LastMapConditionCheck(libComC_ge_MissionCondition_Simulation) == true))) {
+ return true;
+ }
+
+ auto7640A032_val = libComC_gf_LastMap();
+ if (auto7640A032_val == "Nova01") {
+ libComC_gf_PlayCinematic("MP01_020", false);
+ }
+ else if (auto7640A032_val == "Nova02") {
+ libNCST_gf_PlayStorymodeScene("MP01_030", true);
+ }
+ else if (auto7640A032_val == "Nova03") {
+ gf_StorySoFarMP02Create();
+ while (!((gv_storySoFarScreenFinished == true))) {
+ Wait(0.1, c_timeReal);
+ }
+ gf_StorySoFarMP02Destroy();
+ libNCST_gf_PlayStorymodeScene("MP02_005", true);
+ }
+ else if (auto7640A032_val == "Nova04") {
+ libNCST_gf_PlayStorymodeScene("MP02_020", true);
+ libNCST_gf_PlayStorymodeScene("MP02_025", true);
+ }
+ else if (auto7640A032_val == "Nova05") {
+ libNCST_gf_PlayStorymodeScene("MP02_030", true);
+ libNCST_gf_PlayStorymodeScene("MP02_035", true);
+ }
+ else if (auto7640A032_val == "Nova06") {
+ gf_StorySoFarMP03Create();
+ while (!((gv_storySoFarScreenFinished == true))) {
+ Wait(0.1, c_timeReal);
+ }
+ gf_StorySoFarMP03Destroy();
+ libNCST_gf_PlayStorymodeScene("MP03_010", true);
+ }
+ else if (auto7640A032_val == "Nova07") {
+ libNCST_gf_PlayStorymodeScene("MP03_020", true);
+ }
+ else if (auto7640A032_val == "Nova08") {
+ libNCST_gf_PlayStorymodeScene("MP03_030", true);
+ libNCST_gf_PlayStorymodeScene("MP03_035", true);
+ }
+ else {
+ }
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesPlayStorymodeEntry_Init () {
+ gt_ScenesPlayStorymodeEntry = TriggerCreate("gt_ScenesPlayStorymodeEntry_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_010
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_010_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_CampaignPlayMovieCutscene("Cutscenes\\SMX3_Cutscene_MP01_010.SC2Cutscene", true, true);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_010_Init () {
+ gt_ScenesMP01_010 = TriggerCreate("gt_ScenesMP01_010_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_020
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_020_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP01_020Timestamp, true);
+ libComC_gf_CampaignPlayMovieCutscene("Cutscenes\\SMX3_Cutscene_MP01_020.SC2Cutscene", true, true);
+ libComC_gf_HaltTimestamp();
+ TriggerEnable(gt_ScenesMP01_020Timestamp, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_020_Init () {
+ gt_ScenesMP01_020 = TriggerCreate("gt_ScenesMP01_020_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_020 - Timestamp
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_020Timestamp_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_DisplayTimestamp("Cutscene020", true);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_020Timestamp_Init () {
+ gt_ScenesMP01_020Timestamp = TriggerCreate("gt_ScenesMP01_020Timestamp_Func");
+ TriggerEnable(gt_ScenesMP01_020Timestamp, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP01_020Timestamp, c_cutsceneNone, "ShowTimeStamp");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_030
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_030_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP01_030PlayRTTMovie, true);
+ TriggerEnable(gt_ScenesMP01_030RemoveScreen, true);
+ TriggerEnable(gt_ScenesMP01_030UpdateScreenAttachment, true);
+ TriggerEnable(gt_ScenesMP01_030StopNews, true);
+ libNtve_gf_CreateModelAtPoint("SMX3_Cutscene_MP01_30_NewsTV", libNCST_gf_StoryModeDefaultPosition());
+ gv_mP01_030_NewsScreen = libNtve_gf_ActorLastCreated();
+ ActorSend(gv_mP01_030_NewsScreen, "AliasAdd FunTest");
+ ActorSend(gv_mP01_030_NewsScreen, "ExternalFinderAdd");
+ libComC_gf_CampaignPlayCutscene("Cutscenes\\SMX3_Cutscene_MP01_030.SC2Cutscene", Point(64.0, 64.0), true, true);
+ libNCST_gf_StoryCutsceneFade(true, 0.0, false);
+ ActorSend(gv_mP01_030_NewsScreen, libNtve_gf_TextureVideoStopAll());
+ libNtve_gf_KillModel(gv_mP01_030_NewsScreen);
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, false);
+ TriggerEnable(gt_ScenesMP01_030PlayRTTMovie, false);
+ TriggerEnable(gt_ScenesMP01_030RemoveScreen, false);
+ TriggerEnable(gt_ScenesMP01_030UpdateScreenAttachment, false);
+ TriggerEnable(gt_ScenesMP01_030StopNews, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_030_Init () {
+ gt_ScenesMP01_030 = TriggerCreate("gt_ScenesMP01_030_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_035
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_035_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_CampaignPlayMovieCutscene("Cutscenes\\SMX3_Cutscene_MP01_035.SC2Cutscene", true, true);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_035_Init () {
+ gt_ScenesMP01_035 = TriggerCreate("gt_ScenesMP01_035_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_030 - Play RTT Movie
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_030PlayRTTMovie_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ ActorSend(ActorFrom("::external.NovaTV"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ ActorSend(gv_mP01_030_NewsScreen, libNtve_gf_ActorMsg1("TextureSelectById", ("video_newsreport_smx3_mp01_030")));
+ ActorSend(gv_mP01_030_NewsScreen, MakeMsgTextureVideoPlay("video", c_textureSlotComponentDefault, 30, c_textureVideoPlayFlagSynced, 1, "Transmission"));
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_030PlayRTTMovie_Init () {
+ gt_ScenesMP01_030PlayRTTMovie = TriggerCreate("gt_ScenesMP01_030PlayRTTMovie_Func");
+ TriggerEnable(gt_ScenesMP01_030PlayRTTMovie, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP01_030PlayRTTMovie, c_cutsceneNone, "ScenePlay");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_030 - Update Screen Attachment
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_030UpdateScreenAttachment_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ ActorSend(ActorFrom("::external.NovaTV"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_030UpdateScreenAttachment_Init () {
+ gt_ScenesMP01_030UpdateScreenAttachment = TriggerCreate("gt_ScenesMP01_030UpdateScreenAttachment_Func");
+ TriggerEnable(gt_ScenesMP01_030UpdateScreenAttachment, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP01_030UpdateScreenAttachment, c_cutsceneNone, "Reattach");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_030 - Stop News
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_030StopNews_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, true);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_030StopNews_Init () {
+ gt_ScenesMP01_030StopNews = TriggerCreate("gt_ScenesMP01_030StopNews_Func");
+ TriggerEnable(gt_ScenesMP01_030StopNews, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP01_030StopNews, c_cutsceneNone, "NewsEnd");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_030 - Remove Screen
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_030RemoveScreen_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNtve_gf_KillModel(gv_mP01_030_NewsScreen);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_030RemoveScreen_Init () {
+ gt_ScenesMP01_030RemoveScreen = TriggerCreate("gt_ScenesMP01_030RemoveScreen_Func");
+ TriggerEnable(gt_ScenesMP01_030RemoveScreen, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP01_030RemoveScreen, c_cutsceneNone, "TVOff");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP01_040
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP01_040_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP01_040.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP01_040_Init () {
+ gt_ScenesMP01_040 = TriggerCreate("gt_ScenesMP01_040_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_005
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_005_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_005.SC2Cutscene");
+ libNCST_gf_SetAllSoundChannelVolumesStory(libNtve_ge_VolumeChannelMode_Cinematic, 0.5);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_010.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_005_Init () {
+ gt_ScenesMP02_005 = TriggerCreate("gt_ScenesMP02_005_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_010
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_010_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_010.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_010_Init () {
+ gt_ScenesMP02_010 = TriggerCreate("gt_ScenesMP02_010_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - Nova04VoidRay
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesNova04VoidRay_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\Nova04VoidRay.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesNova04VoidRay_Init () {
+ gt_ScenesNova04VoidRay = TriggerCreate("gt_ScenesNova04VoidRay_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_020
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_020_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP02_020PlayRTTMovie, true);
+ TriggerEnable(gt_ScenesMP02_020StopNews, true);
+ TriggerEnable(gt_ScenesMP02_020RemoveScreen, true);
+ libNtve_gf_CreateModelAtPoint("SMX3_Nova_Ship_Bridge_MainScreen", libNtve_gf_PointFromXYZ(64.0, 68.046, 4.6144));
+ gv_mP02_020_Screen = libNtve_gf_ActorLastCreated();
+ ActorSend(gv_mP02_020_Screen, "AliasAdd FunTest");
+ ActorSend(gv_mP02_020_Screen, "ExternalFinderAdd");
+ ActorSend(gv_mP02_020_Screen, "AnimPlay ShowScreen Morph,A PlayForever 0.000000 0.000000");
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, false);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_020.SC2Cutscene");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP02_GriffinBridgeWS");
+ ActorSend(gv_mP02_020_Screen, libNtve_gf_TextureVideoStopAll());
+ libNtve_gf_KillModel(gv_mP02_020_Screen);
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, false);
+ TriggerEnable(gt_ScenesMP02_020PlayRTTMovie, false);
+ TriggerEnable(gt_ScenesMP02_020StopNews, false);
+ TriggerEnable(gt_ScenesMP02_020RemoveScreen, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_020_Init () {
+ gt_ScenesMP02_020 = TriggerCreate("gt_ScenesMP02_020_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_020 - Play RTT Movie
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_020PlayRTTMovie_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ ActorSend(ActorFrom("::external.Nova02_020"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ ActorSend(gv_mP02_020_Screen, libNtve_gf_ActorMsg1("TextureSelectById", ("video_newsreport_smx3_mp02_020")));
+ ActorSend(gv_mP02_020_Screen, MakeMsgTextureVideoPlay("video", c_textureSlotComponentDefault, 30, c_textureVideoPlayFlagSynced, 1, "Transmission"));
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP02_GriffinBridgeWS");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_020PlayRTTMovie_Init () {
+ gt_ScenesMP02_020PlayRTTMovie = TriggerCreate("gt_ScenesMP02_020PlayRTTMovie_Func");
+ TriggerEnable(gt_ScenesMP02_020PlayRTTMovie, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_020PlayRTTMovie, c_cutsceneNone, "Nova02_020Start");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_020 - Stop News
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_020StopNews_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, true);
+ Wait(0.5, c_timeReal);
+ ActorSend(gv_mP02_020_Screen, libNtve_gf_TextureVideoStopAll());
+ libNtve_gf_KillModel(gv_mP02_020_Screen);
+ Wait(3.0, c_timeReal);
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP02_GriffinBridgeWS");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_020StopNews_Init () {
+ gt_ScenesMP02_020StopNews = TriggerCreate("gt_ScenesMP02_020StopNews_Func");
+ TriggerEnable(gt_ScenesMP02_020StopNews, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_020StopNews, c_cutsceneNone, "Nova02_020End");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_020 - Remove Screen
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_020RemoveScreen_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNtve_gf_KillModel(gv_mP02_020_Screen);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_020RemoveScreen_Init () {
+ gt_ScenesMP02_020RemoveScreen = TriggerCreate("gt_ScenesMP02_020RemoveScreen_Func");
+ TriggerEnable(gt_ScenesMP02_020RemoveScreen, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_020RemoveScreen, c_cutsceneNone, "Nova02_020Remove");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_025
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_025_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_025.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_025_Init () {
+ gt_ScenesMP02_025 = TriggerCreate("gt_ScenesMP02_025_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_030
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_030_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP02_030EchoOn, true);
+ TriggerEnable(gt_ScenesMP02_030EchoOff, true);
+ TriggerEnable(gt_ScenesMP02_030Timestamp, true);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_030.SC2Cutscene");
+ libComC_gf_HaltTimestamp();
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Echo_CS_MP02_Flashback");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Reverb_CS_MP02_Flashback");
+ TriggerEnable(gt_ScenesMP02_030Timestamp, false);
+ TriggerEnable(gt_ScenesMP02_030EchoOn, false);
+ TriggerEnable(gt_ScenesMP02_030EchoOff, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_030_Init () {
+ gt_ScenesMP02_030 = TriggerCreate("gt_ScenesMP02_030_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_030 - EchoOn
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_030EchoOn_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryDialogue, "Reverb_CS_MP02_Flashback");
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryDialogue, "Echo_CS_MP02_Flashback");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_030EchoOn_Init () {
+ gt_ScenesMP02_030EchoOn = TriggerCreate("gt_ScenesMP02_030EchoOn_Func");
+ TriggerEnable(gt_ScenesMP02_030EchoOn, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_030EchoOn, c_cutsceneNone, "Nova02_030_EchoOn");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_030 - EchoOff
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_030EchoOff_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Echo_CS_MP02_Flashback");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Reverb_CS_MP02_Flashback");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_030EchoOff_Init () {
+ gt_ScenesMP02_030EchoOff = TriggerCreate("gt_ScenesMP02_030EchoOff_Func");
+ TriggerEnable(gt_ScenesMP02_030EchoOff, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_030EchoOff, c_cutsceneNone, "Nova02_030_EchoOff");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_030 - Timestamp
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_030Timestamp_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_DisplayTimestamp("CutsceneMP02_030", false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_030Timestamp_Init () {
+ gt_ScenesMP02_030Timestamp = TriggerCreate("gt_ScenesMP02_030Timestamp_Func");
+ TriggerEnable(gt_ScenesMP02_030Timestamp, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_030Timestamp, c_cutsceneNone, "ShowTimeStamp");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_035
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_035_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_035.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_035_Init () {
+ gt_ScenesMP02_035 = TriggerCreate("gt_ScenesMP02_035_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP02_040EchoOn, true);
+ TriggerEnable(gt_ScenesMP02_040EchoOff, true);
+ TriggerEnable(gt_ScenesMP02_040Timestamp, true);
+ TriggerEnable(gt_ScenesMP02_040RTTScreenCreate, true);
+ TriggerEnable(gt_ScenesMP02_040PlayRTTMovie, true);
+ TriggerEnable(gt_ScenesMP02_040StopMovie, true);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP02_040.SC2Cutscene");
+ libComC_gf_HaltTimestamp();
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Echo_CS_MP02_Flashback");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Reverb_CS_MP02_Flashback");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP02_GriffinBridgeMS");
+ SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryTV, 100.0, 1.0);
+ ActorSend(gv_mP02_040_Screen, libNtve_gf_TextureVideoStopAll());
+ libNtve_gf_KillModel(gv_mP02_040_Screen);
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, false);
+ TriggerEnable(gt_ScenesMP02_040EchoOn, false);
+ TriggerEnable(gt_ScenesMP02_040EchoOff, false);
+ TriggerEnable(gt_ScenesMP02_040Timestamp, false);
+ TriggerEnable(gt_ScenesMP02_040RTTScreenCreate, false);
+ TriggerEnable(gt_ScenesMP02_040PlayRTTMovie, false);
+ TriggerEnable(gt_ScenesMP02_040StopMovie, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040_Init () {
+ gt_ScenesMP02_040 = TriggerCreate("gt_ScenesMP02_040_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040 - EchoOn
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040EchoOn_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryDialogue, "Reverb_CS_MP02_Flashback");
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryDialogue, "Echo_CS_MP02_Flashback");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040EchoOn_Init () {
+ gt_ScenesMP02_040EchoOn = TriggerCreate("gt_ScenesMP02_040EchoOn_Func");
+ TriggerEnable(gt_ScenesMP02_040EchoOn, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_040EchoOn, c_cutsceneNone, "EchoOn");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040 - EchoOff
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040EchoOff_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Echo_CS_MP02_Flashback");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryDialogue, "Reverb_CS_MP02_Flashback");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040EchoOff_Init () {
+ gt_ScenesMP02_040EchoOff = TriggerCreate("gt_ScenesMP02_040EchoOff_Func");
+ TriggerEnable(gt_ScenesMP02_040EchoOff, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_040EchoOff, c_cutsceneNone, "EchoOff");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040 - Timestamp
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040Timestamp_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_DisplayTimestamp("CutsceneMP02_040", false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040Timestamp_Init () {
+ gt_ScenesMP02_040Timestamp = TriggerCreate("gt_ScenesMP02_040Timestamp_Func");
+ TriggerEnable(gt_ScenesMP02_040Timestamp, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_040Timestamp, c_cutsceneNone, "ShowTimeStamp");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040 - RTT Screen Create
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040RTTScreenCreate_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNtve_gf_CreateModelAtPoint("SMX3_Nova_Ship_Bridge_MainScreen", libNCST_gf_StoryModeDefaultPosition());
+ gv_mP02_040_Screen = libNtve_gf_ActorLastCreated();
+ ActorSend(gv_mP02_040_Screen, "AliasAdd FunTest");
+ ActorSend(gv_mP02_040_Screen, "ExternalFinderAdd");
+ ActorSend(gv_mP02_040_Screen, "AnimPlay ShowScreen Morph,A PlayForever 0.000000 0.000000");
+ ActorSend(ActorFrom("::external.Nova02_040"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040RTTScreenCreate_Init () {
+ gt_ScenesMP02_040RTTScreenCreate = TriggerCreate("gt_ScenesMP02_040RTTScreenCreate_Func");
+ TriggerEnable(gt_ScenesMP02_040RTTScreenCreate, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_040RTTScreenCreate, c_cutsceneNone, "Nova02_040ScreenCreate");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040 - Play RTT Movie
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040PlayRTTMovie_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ ActorSend(ActorFrom("::external.Nova02_040"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ ActorSend(gv_mP02_040_Screen, libNtve_gf_ActorMsg1("TextureSelectById", ("video_newsreport_smx3_mp02_040")));
+ ActorSend(gv_mP02_040_Screen, MakeMsgTextureVideoPlay("video", c_textureSlotComponentDefault, 30, c_textureVideoPlayFlagSynced, 1, "Transmission"));
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP02_GriffinBridgeMS");
+ SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryTV, 10.0, 1.5);
+ Wait(5.0, c_timeGame);
+ SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryTV, 50.0, 6.0);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040PlayRTTMovie_Init () {
+ gt_ScenesMP02_040PlayRTTMovie = TriggerCreate("gt_ScenesMP02_040PlayRTTMovie_Func");
+ TriggerEnable(gt_ScenesMP02_040PlayRTTMovie, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_040PlayRTTMovie, c_cutsceneNone, "Nova02_040Start");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP02_040 - Stop Movie
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP02_040StopMovie_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, true);
+ SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryTV, 100.0, 1.0);
+ ActorSend(gv_mP02_040_Screen, libNtve_gf_TextureVideoStopAll());
+ ActorSend(gv_mP02_040_Screen, "AnimClear ShowScreen");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP02_GriffinBridgeMS");
+ libNtve_gf_KillModel(gv_mP02_040_Screen);
+ SoundPlayForPlayer(SoundLink("CS_SMX3_Cutscene_MP02_040_MonitorBeep", 0), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP02_040StopMovie_Init () {
+ gt_ScenesMP02_040StopMovie = TriggerCreate("gt_ScenesMP02_040StopMovie_Func");
+ TriggerEnable(gt_ScenesMP02_040StopMovie, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP02_040StopMovie, c_cutsceneNone, "Nova02_040End");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_010
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_010_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP03_010Timestamp, true);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP03_010.SC2Cutscene");
+ libComC_gf_HaltTimestamp();
+ TriggerEnable(gt_ScenesMP03_010Timestamp, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_010_Init () {
+ gt_ScenesMP03_010 = TriggerCreate("gt_ScenesMP03_010_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_010 - Timestamp
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_010Timestamp_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_DisplayTimestamp("CutsceneMP03_010", false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_010Timestamp_Init () {
+ gt_ScenesMP03_010Timestamp = TriggerCreate("gt_ScenesMP03_010Timestamp_Func");
+ TriggerEnable(gt_ScenesMP03_010Timestamp, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP03_010Timestamp, c_cutsceneNone, "ShowTimeStamp");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_020
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_020_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP03_020.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_020_Init () {
+ gt_ScenesMP03_020 = TriggerCreate("gt_ScenesMP03_020_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_030
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_030_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP03_030.SC2Cutscene");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_030_Init () {
+ gt_ScenesMP03_030 = TriggerCreate("gt_ScenesMP03_030_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_035
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_035_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP03_035Timestamp, true);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP03_035.SC2Cutscene");
+ libComC_gf_HaltTimestamp();
+ TriggerEnable(gt_ScenesMP03_035Timestamp, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_035_Init () {
+ gt_ScenesMP03_035 = TriggerCreate("gt_ScenesMP03_035_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_035 - Timestamp
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_035Timestamp_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libComC_gf_DisplayTimestamp("CutsceneMP03_035", false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_035Timestamp_Init () {
+ gt_ScenesMP03_035Timestamp = TriggerCreate("gt_ScenesMP03_035Timestamp_Func");
+ TriggerEnable(gt_ScenesMP03_035Timestamp, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP03_035Timestamp, c_cutsceneNone, "ShowTimeStamp");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_040
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_040_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ TriggerEnable(gt_ScenesMP03_040OGVScreenCreate, true);
+ TriggerEnable(gt_ScenesMP03_040PlayOGVMovie, true);
+ TriggerEnable(gt_ScenesMP03_040StopMovie, true);
+ libNCST_gf_ActivateDeactivateCreditsTriggers(true);
+ libNCST_gf_PlayStorymodeCutscene("Cutscenes\\SMX3_Cutscene_MP03_040.SC2Cutscene");
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP03_ValeriansChamber");
+ libNCST_gf_ActivateDeactivateCreditsTriggers(false);
+ ActorSend(gv_mP03_040_Screen, libNtve_gf_TextureVideoStopAll());
+ libNtve_gf_KillModel(gv_mP03_040_Screen);
+ TriggerEnable(gt_ScenesMP03_040OGVScreenCreate, false);
+ TriggerEnable(gt_ScenesMP03_040PlayOGVMovie, false);
+ TriggerEnable(gt_ScenesMP03_040StopMovie, false);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_040_Init () {
+ gt_ScenesMP03_040 = TriggerCreate("gt_ScenesMP03_040_Func");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_040 - OGV Screen Create
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_040OGVScreenCreate_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ libNtve_gf_CreateModelAtPoint("SMX3_Cutscene_MP01_30_NewsTV", libNtve_gf_PointFromXYZ(64.0, 68.046, 4.6144));
+ gv_mP03_040_Screen = libNtve_gf_ActorLastCreated();
+ ActorSend(gv_mP03_040_Screen, "AliasAdd FunTest");
+ ActorSend(gv_mP03_040_Screen, "ExternalFinderAdd");
+ ActorSend(ActorFrom("::external.Nova03_040"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_040OGVScreenCreate_Init () {
+ gt_ScenesMP03_040OGVScreenCreate = TriggerCreate("gt_ScenesMP03_040OGVScreenCreate_Func");
+ TriggerEnable(gt_ScenesMP03_040OGVScreenCreate, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP03_040OGVScreenCreate, c_cutsceneNone, "Nova03_040ScreenCreate");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_040 - Play OGV Movie
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_040PlayOGVMovie_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ ActorSend(ActorFrom("::external.Nova03_040"), "Attach ::external.FunTest {Origin 0} SOpAttachOrigin");
+ ActorSend(gv_mP03_040_Screen, libNtve_gf_ActorMsg1("TextureSelectById", ("video_newsreport_smx3_mp03_040")));
+ SoundChannelDSPInsert(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP03_ValeriansChamber");
+ ActorSend(gv_mP03_040_Screen, MakeMsgTextureVideoPlay("video", c_textureSlotComponentDefault, 30, c_textureVideoPlayFlagSynced, 1, "Transmission"));
+ SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryTV, 100.0, 6.0);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_040PlayOGVMovie_Init () {
+ gt_ScenesMP03_040PlayOGVMovie = TriggerCreate("gt_ScenesMP03_040PlayOGVMovie_Func");
+ TriggerEnable(gt_ScenesMP03_040PlayOGVMovie, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP03_040PlayOGVMovie, c_cutsceneNone, "Nova03_040Start");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: Scenes - MP03_040 - Stop Movie
+//--------------------------------------------------------------------------------------------------
+bool gt_ScenesMP03_040StopMovie_Func (bool testConds, bool runActions) {
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ SoundChannelMute(PlayerGroupAll(), c_soundCategoryTV, true);
+ SoundChannelDSPRemove(PlayerGroupAll(), c_soundCategoryTV, "Reverb_NovaMP03_ValeriansChamber");
+ ActorSend(gv_mP03_040_Screen, libNtve_gf_TextureVideoStopAll());
+ libNtve_gf_KillModel(gv_mP03_040_Screen);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_ScenesMP03_040StopMovie_Init () {
+ gt_ScenesMP03_040StopMovie = TriggerCreate("gt_ScenesMP03_040StopMovie_Func");
+ TriggerEnable(gt_ScenesMP03_040StopMovie, false);
+ TriggerAddEventCutsceneBookmarkFired(gt_ScenesMP03_040StopMovie, c_cutsceneNone, "Nova03_040End");
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger: DEBUG - Release Cam
+//--------------------------------------------------------------------------------------------------
+bool gt_DEBUGReleaseCam_Func (bool testConds, bool runActions) {
+ // Conditions
+ if (testConds) {
+ if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
+ return false;
+ }
+ }
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ CameraApplyInfo(1, CameraInfoDefault(), 0.0, -1, 10.0, true);
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_DEBUGReleaseCam_Init () {
+ gt_DEBUGReleaseCam = TriggerCreate("gt_DEBUGReleaseCam_Func");
+ TriggerAddEventChatMessage(gt_DEBUGReleaseCam, c_playerAny, "dbgnocam", true);
+}
+
+//--------------------------------------------------------------------------------------------------
+// Trigger Initialization
+//--------------------------------------------------------------------------------------------------
+void InitTriggers () {
+ gt_MapInit_Init();
+ gt_Init01StoryData_Init();
+ gt_Init02Rooms_Init();
+ gt_Init03Scenes_Init();
+ gt_BeginStorymode_Init();
+ gt_RoomPrepareVoid_Init();
+ gt_RoomViewVoid_Init();
+ gt_RoomViewStopVoid_Init();
+ gt_RoomEntered_Init();
+ gt_MovingToRoom_Init();
+ gt_StorySoFarAnyButtonPressed_Init();
+ gt_UpdateUnitRooms_Init();
+ gt_ScenesPlayStorymodeEntry_Init();
+ gt_ScenesMP01_010_Init();
+ gt_ScenesMP01_020_Init();
+ gt_ScenesMP01_020Timestamp_Init();
+ gt_ScenesMP01_030_Init();
+ gt_ScenesMP01_035_Init();
+ gt_ScenesMP01_030PlayRTTMovie_Init();
+ gt_ScenesMP01_030UpdateScreenAttachment_Init();
+ gt_ScenesMP01_030StopNews_Init();
+ gt_ScenesMP01_030RemoveScreen_Init();
+ gt_ScenesMP01_040_Init();
+ gt_ScenesMP02_005_Init();
+ gt_ScenesMP02_010_Init();
+ gt_ScenesNova04VoidRay_Init();
+ gt_ScenesMP02_020_Init();
+ gt_ScenesMP02_020PlayRTTMovie_Init();
+ gt_ScenesMP02_020StopNews_Init();
+ gt_ScenesMP02_020RemoveScreen_Init();
+ gt_ScenesMP02_025_Init();
+ gt_ScenesMP02_030_Init();
+ gt_ScenesMP02_030EchoOn_Init();
+ gt_ScenesMP02_030EchoOff_Init();
+ gt_ScenesMP02_030Timestamp_Init();
+ gt_ScenesMP02_035_Init();
+ gt_ScenesMP02_040_Init();
+ gt_ScenesMP02_040EchoOn_Init();
+ gt_ScenesMP02_040EchoOff_Init();
+ gt_ScenesMP02_040Timestamp_Init();
+ gt_ScenesMP02_040RTTScreenCreate_Init();
+ gt_ScenesMP02_040PlayRTTMovie_Init();
+ gt_ScenesMP02_040StopMovie_Init();
+ gt_ScenesMP03_010_Init();
+ gt_ScenesMP03_010Timestamp_Init();
+ gt_ScenesMP03_020_Init();
+ gt_ScenesMP03_030_Init();
+ gt_ScenesMP03_035_Init();
+ gt_ScenesMP03_035Timestamp_Init();
+ gt_ScenesMP03_040_Init();
+ gt_ScenesMP03_040OGVScreenCreate_Init();
+ gt_ScenesMP03_040PlayOGVMovie_Init();
+ gt_ScenesMP03_040StopMovie_Init();
+ gt_DEBUGReleaseCam_Init();
+}
+
+//--------------------------------------------------------------------------------------------------
+// Map Initialization
+//--------------------------------------------------------------------------------------------------
+void InitMap () {
+ InitLibs();
+ InitGlobals();
+ InitTriggers();
+}
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Minimap.tga b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Minimap.tga
new file mode 100644
index 0000000000..c62dabb648
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Minimap.tga differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Preload.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Preload.xml
index e69de29bb2..3d5f76a5c0 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Preload.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Preload.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/PreloadAssetDB.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/PreloadAssetDB.txt
new file mode 100644
index 0000000000..7db2e47783
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/PreloadAssetDB.txt
@@ -0,0 +1,13 @@
+[Game]
+id=Dflt
+Abil=stop
+Actor=CommandUIHarnessAttackProtoss,CommandUIHarnessAttackTerran,CommandUIHarnessAttackZerg,CommandUIHarnessConfirmProtoss,CommandUIHarnessConfirmTerran,CommandUIHarnessConfirmZerg,CommandUIHarnessMoveProtoss,CommandUIHarnessMoveTerran,CommandUIHarnessMoveZerg,CommandUIHarnessRallyProtoss,CommandUIHarnessRallyTerran,CommandUIHarnessRallyZerg,TerrainMgr,VultureDOMParked
+Behavior=AttackReveal
+Effect=SplashDamage
+Race=Prot,Terr,Zerg
+Sound=Zerg_CreepDecay,Zerg_CreepGrow
+
+[Sound]
+id=TVMovieTemplate2D
+Actor=CommandUIHarnessAttackProtoss,CommandUIHarnessAttackTerran,CommandUIHarnessAttackZerg,CommandUIHarnessConfirmProtoss,CommandUIHarnessConfirmTerran,CommandUIHarnessConfirmZerg,CommandUIHarnessMoveProtoss,CommandUIHarnessMoveTerran,CommandUIHarnessMoveZerg,CommandUIHarnessRallyProtoss,CommandUIHarnessRallyTerran,CommandUIHarnessRallyZerg,TerrainMgr,VultureDOMParked
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers
index e69de29bb2..2ae3d27839 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers
@@ -0,0 +1,6885 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ We wait for story data purely so that the progress debug button functions.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NStory01
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP01_010
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP01_020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP01_030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP01_035
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP01_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_005
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_010
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_025
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_035
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP02_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP03_010
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP03_020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP03_030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP03_035
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MP03_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova04VoidRay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Determine what course of action we should take when we have already entered a room.
+
+
+
+
+
+
+
+ Determine what course of action we should take when going into a new room (but are not in the room yet).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 500
+
+
+
+
+ 400
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/Title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTitleMP02"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/TextBlock1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTextBlock01MP02"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/TextBlock2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTextBlock02MP02"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/TextBlock3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTextBlock03MP02"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/PressAnyKey
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarKeyPressTextMP02"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ nDLC_Music_StorySoFarMP02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.7
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 500
+
+
+
+
+ 400
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/Title
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTitleMP03"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/TextBlock1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTextBlock01MP03"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/TextBlock2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTextBlock02MP03"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/TextBlock3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarTextBlock03MP03"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova_StorySoFarMP02/StorySoFarPanel/PressAnyKey
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ "StoryModeText|StorySoFarKeyPressTextMP03"
+
+
+
+
+ Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ nDLC_Music_StorySoFarMP02
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.7
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+ 255,0,0,0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ Progress through the Story So Far screen if the player hits buttons.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Play intro cutscenes here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova01
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+ MP01_020
+
+
+
+
+
+
+
+
+
+
+
+ Nova02
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP01_030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova03
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP02_005
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova04
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP02_020
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP02_025
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova05
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP02_030
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP02_035
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova06
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP03_010
+
+
+
+
+
+
+
+
+
+
+
+ Nova07
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP03_020
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova08
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP03_030
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+ MP03_035
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP01_010.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP01_020.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowTimeStamp
+
+
+
+
+
+
+
+
+
+ Cutscene020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SMX3_Cutscene_MP01_30_NewsTV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AliasAdd FunTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExternalFinderAdd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP01_030.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 64.0
+
+
+
+
+ 64.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP01_035.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ScenePlay
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.NovaTV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TextureSelectById
+
+
+
+
+
+
+
+
+
+
+
+
+ video_newsreport_smx3_mp01_030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 30
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ Transmission
+
+
+
+
+ video
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reattach
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.NovaTV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NewsEnd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TVOff
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP01_040.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_005.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.5
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_010.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_010.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\Nova04VoidRay.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SMX3_Nova_Ship_Bridge_MainScreen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 64.0
+
+
+
+
+ 68.046
+
+
+
+
+ 4.6144
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AliasAdd FunTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExternalFinderAdd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AnimPlay ShowScreen Morph,A PlayForever 0.000000 0.000000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_020.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP02_GriffinBridgeWS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_020Start
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.Nova02_020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TextureSelectById
+
+
+
+
+
+
+
+
+
+
+
+
+ video_newsreport_smx3_mp02_020
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 30
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ Transmission
+
+
+
+
+ video
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP02_GriffinBridgeWS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_020End
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 3.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP02_GriffinBridgeWS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_020Remove
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_025.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_030.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Echo_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_030_EchoOn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Echo_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_030_EchoOff
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Echo_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowTimeStamp
+
+
+
+
+
+
+
+
+
+ CutsceneMP02_030
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_035.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP02_040.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Echo_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP02_GriffinBridgeMS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EchoOn
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Echo_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EchoOff
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Echo_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_CS_MP02_Flashback
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowTimeStamp
+
+
+
+
+
+
+
+
+
+ CutsceneMP02_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_040ScreenCreate
+
+
+
+
+
+
+
+
+
+ SMX3_Nova_Ship_Bridge_MainScreen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AliasAdd FunTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExternalFinderAdd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AnimPlay ShowScreen Morph,A PlayForever 0.000000 0.000000
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.Nova02_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_040Start
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.Nova02_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TextureSelectById
+
+
+
+
+
+
+
+
+
+
+
+
+ video_newsreport_smx3_mp02_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 30
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ Transmission
+
+
+
+
+ video
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP02_GriffinBridgeMS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10.0
+
+
+
+
+ 1.5
+
+
+
+
+
+
+
+
+
+ 5.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 50.0
+
+
+
+
+ 6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova02_040End
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100.0
+
+
+
+
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AnimClear ShowScreen
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP02_GriffinBridgeMS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100.0
+
+
+
+
+ 0.0
+
+
+
+
+ CS_SMX3_Cutscene_MP02_040_MonitorBeep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP03_010.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowTimeStamp
+
+
+
+
+
+
+
+
+
+ CutsceneMP03_010
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP03_020.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP03_030.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP03_035.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ShowTimeStamp
+
+
+
+
+
+
+
+
+
+ CutsceneMP03_035
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cutscenes\SMX3_Cutscene_MP03_040.SC2Cutscene
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP03_ValeriansChamber
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova03_040ScreenCreate
+
+
+
+
+
+
+
+
+
+ SMX3_Cutscene_MP01_30_NewsTV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 64.0
+
+
+
+
+ 68.046
+
+
+
+
+ 4.6144
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AliasAdd FunTest
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ExternalFinderAdd
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.Nova03_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova03_040Start
+
+
+
+
+
+
+
+
+
+ Attach ::external.FunTest {Origin 0} SOpAttachOrigin
+
+
+
+
+
+
+
+
+
+
+
+
+ ::external.Nova03_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ TextureSelectById
+
+
+
+
+
+
+
+
+
+
+
+
+ video_newsreport_smx3_mp03_040
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP03_ValeriansChamber
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 30
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ Transmission
+
+
+
+
+ video
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100.0
+
+
+
+
+ 6.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nova03_040End
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reverb_NovaMP03_ValeriansChamber
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ dbgnocam
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ 0.0
+
+
+
+
+
+
+
+
+ 10.0
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers.version b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers.version
new file mode 100644
index 0000000000..e886aaccfc
Binary files /dev/null and b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/Triggers.version differ
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/GameData.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/GameData.xml
index e69de29bb2..0416575033 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/GameData.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/GameData.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/SoundData.xml b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/SoundData.xml
index e69de29bb2..8cd9bf8b17 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/SoundData.xml
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/base.sc2data/GameData/SoundData.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/dede.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..f5ef44f97e
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Novas Geschichte
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Spieler 1
+MapInfo/Player02/Name=Feindlich
+Param/Value/692BC2DD=Die Brücke
+Param/Value/CD7292EC=Sie blicken auf die Brücke.
+Param/Value/F68FF4CD=Missionsbeschreibung
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/GameStrings.txt
index e69de29bb2..cb7d92f2b8 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/GameStrings.txt
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,4 @@
+DocInfo/Name=Nova Story
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Player 1
+MapInfo/Player02/Name=Hostile
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
index e69de29bb2..071886411a 100644
--- a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,83 @@
+Category/Name/0A125334========= ROOMS ========
+Category/Name/168F7BDF=Story So Far Screen
+Category/Name/2DDB7254======== SCENES ========
+Category/Name/3C99056B=DEBUG
+Category/Name/72AE3EF0=Clickables
+Category/Name/788121A3=Global Variables
+Category/Name/B061CA68=Room Change Handlers
+Category/Name/DCCA62BB=Units
+Category/Name/F043651D========= INITIALIZATION ========
+FunctionDef/Hint/740F1DB3=Creates the Story So Far screen for Mission Pack 2.
+FunctionDef/Hint/B6120761=Creates the Story So Far screen for Mission Pack 2.
+FunctionDef/Name/03C9C3BD=Story So Far MP03 Destroy
+FunctionDef/Name/740F1DB3=Story So Far MP03 Create
+FunctionDef/Name/B6120761=Story So Far MP02 Create
+FunctionDef/Name/B7A34707=Entry Room
+FunctionDef/Name/F4D90E73=Story So Far MP02 Destroy
+Trigger/Name/04A0F791=Scenes - MP02_030 - EchoOff
+Trigger/Name/0F0E3ABB=Init 01 Story Data
+Trigger/Name/0F616F77=Scenes - MP03_035 - Timestamp
+Trigger/Name/10A27EBA=Scenes - MP02_040 - EchoOff
+Trigger/Name/10D33D19=Scenes - MP02_025
+Trigger/Name/12884421=Moving To Room
+Trigger/Name/14635348=Scenes - MP03_040 - Play OGV Movie
+Trigger/Name/23A45DA5=Scenes - MP02_035
+Trigger/Name/23D5A878=Scenes - MP03_030
+Trigger/Name/29AE8B46=Scenes - MP02_040 - EchoOn
+Trigger/Name/2FE5D691=Scenes - MP01_020 - Timestamp
+Trigger/Name/31DE76CE=Scenes - MP02_040 - Timestamp
+Trigger/Name/3CC60598=Scenes - MP02_040
+Trigger/Name/3FC19B11=Scenes - MP01_030 - Update Screen Attachment
+Trigger/Name/4976F4B2=Scenes - MP02_040 - Play RTT Movie
+Trigger/Name/4A7A5510=Scenes - MP01_030 - Remove Screen
+Trigger/Name/4E88C938=Scenes - MP02_030
+Trigger/Name/56B037B3=Scenes - MP02_005
+Trigger/Name/5954CCE7=Scenes - MP03_040 - Stop Movie
+Trigger/Name/59B71A0E=Scenes - MP01_030 - Stop News
+Trigger/Name/6782739E=Scenes - MP03_040
+Trigger/Name/6D20C323=Scenes - MP02_020 - Play RTT Movie
+Trigger/Name/6E6CFB08=Scenes - Nova04VoidRay
+Trigger/Name/7B0E1787=Scenes - MP02_030 - EchoOn
+Trigger/Name/840774AA=Map Init
+Trigger/Name/8636BEEE=Scenes - MP02_020
+Trigger/Name/8CA3E0B4=Scenes - MP03_020
+Trigger/Name/96536132=Scenes - MP02_040 - RTT Screen Create
+Trigger/Name/A288AE79=Scenes - MP01_030 - Play RTT Movie
+Trigger/Name/AA8C2962=Init 02 Rooms
+Trigger/Name/AE4D989D=Scenes - MP02_030 - Timestamp
+Trigger/Name/B3BBEEC4=Update Unit Rooms
+Trigger/Name/B61BB7B1=Room Entered
+Trigger/Name/B9CE7D2B=Room View Stop - Void
+Trigger/Name/BF7C7BE6=Scenes - Play Storymode Entry
+Trigger/Name/C2C4F006=Scenes - MP03_035
+Trigger/Name/C607DCDD=Story So Far Any Button Pressed
+Trigger/Name/C8E28DF6=Scenes - MP02_020 - Stop News
+Trigger/Name/CB0AF3AC=Scenes - MP01_040
+Trigger/Name/D3DEC0AE=Room View - Void
+Trigger/Name/D4F70615=Scenes - MP01_020
+Trigger/Name/DAA52AB2=Scenes - MP02_010
+Trigger/Name/DCF7793F=Scenes - MP01_030
+Trigger/Name/DF0ED588=Scenes - MP02_020 - Remove Screen
+Trigger/Name/E0ED1B4A=Scenes - MP03_010
+Trigger/Name/E19B39D8=Scenes - MP01_035
+Trigger/Name/E208B178=Scenes - MP01_010
+Trigger/Name/E2D36140=DEBUG - Release Cam
+Trigger/Name/E75ABF76=Scenes - MP02_040 - Stop Movie
+Trigger/Name/E88419E5=Scenes - MP03_010 - Timestamp
+Trigger/Name/E93F29D1=Init 03 Scenes
+Trigger/Name/EDA59B7B=Room Prepare - Void
+Trigger/Name/F3E7BBB7=Scenes - MP03_040 - OGV Screen Create
+Trigger/Name/FD266115=Begin Storymode
+Variable/Name/0FDC8971=StorySoFarTextBlock2
+Variable/Name/17DBE2F6=StorySoFarPressAnyKeyLabel
+Variable/Name/20B83C2D=IndexUnit
+Variable/Name/7642C029=StorySoFarTextBlock1
+Variable/Name/84C221E3=MP02_020_Screen
+Variable/Name/934AD9BD=StorySoFarDialog
+Variable/Name/A3B34F19=MP01_030_NewsScreen
+Variable/Name/C0446BB9=StorySoFarScreenFinished
+Variable/Name/CE875859=StorySoFarPanel
+Variable/Name/D28C3062=StorySoFarTextBlock3
+Variable/Name/DBDE45E7=MP03_040_Screen
+Variable/Name/E0E0E34E=MP02_040_Screen
+Variable/Name/E666CB0D=StorymodeEntered
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/eses.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..e88bd55921
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Historia de Nova
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Jugador 1
+MapInfo/Player02/Name=Hostil
+Param/Value/692BC2DD=Pantalla del puente
+Param/Value/CD7292EC=¡Estás frente al puente!
+Param/Value/F68FF4CD=Informe de la misión
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..c344537867
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Historia de Nova
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Jugador 1
+MapInfo/Player02/Name=Hostil
+Param/Value/692BC2DD=[PH] Bridge Screen
+Param/Value/CD7292EC=¡Estás viendo el puente!
+Param/Value/F68FF4CD=[PH] Mission Briefing
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..e10034364c
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Histoire de Nova
+MapInfo/Player00/Name=Neutre
+MapInfo/Player01/Name=Joueur 1
+MapInfo/Player02/Name=Hostile
+Param/Value/692BC2DD=Moniteur de la passerelle
+Param/Value/CD7292EC=Vous regardez la passerelle !
+Param/Value/F68FF4CD=Briefing de mission
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/itit.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..95b39a778e
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Nova - Storia
+MapInfo/Player00/Name=Neutrale
+MapInfo/Player01/Name=Giocatore 1
+MapInfo/Player02/Name=Nemico
+Param/Value/692BC2DD=[PH] Schermata ponte
+Param/Value/CD7292EC=Il ponte è in vista!
+Param/Value/F68FF4CD=[PH] Briefing di missione
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..f8e50c40bb
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=노바 이야기
+MapInfo/Player00/Name=중립
+MapInfo/Player01/Name=플레이어 1
+MapInfo/Player02/Name=적대 /// Hostile
+Param/Value/692BC2DD=[PH] 함교 화면
+Param/Value/CD7292EC=함교를 보는 중입니다!
+Param/Value/F68FF4CD=[PH] 임무 요약 보고
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..a9a220b7b4
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Tryb opowieści Novy
+MapInfo/Player00/Name=Neutralny
+MapInfo/Player01/Name=Gracz 1
+MapInfo/Player02/Name=Wróg
+Param/Value/692BC2DD=[PH] Scena na mostku
+Param/Value/CD7292EC=Patrzysz na mostek!
+Param/Value/F68FF4CD=[PH] Odprawa misji
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..f064c4d33e
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=História de Nova
+MapInfo/Player00/Name=Neutro
+MapInfo/Player01/Name=Jogador 1
+MapInfo/Player02/Name=Inimigo
+Param/Value/692BC2DD=[PH] Tela da Ponte
+Param/Value/CD7292EC=Você está vendo a Ponte!
+Param/Value/F68FF4CD=[PH] Mission Briefing
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..207791d094
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=Кампания Новы
+MapInfo/Player00/Name=Нейтральный
+MapInfo/Player01/Name=Игрок 1
+MapInfo/Player02/Name=Противник
+Param/Value/692BC2DD=Мостик
+Param/Value/CD7292EC=Вы смотрите на мостик!
+Param/Value/F68FF4CD=Вступление к заданию
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..80e16bb7a7
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=诺娃故事
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=玩家1
+MapInfo/Player02/Name=敌对
+Param/Value/692BC2DD=舰桥画面
+Param/Value/CD7292EC=你正在看着舰桥!
+Param/Value/F68FF4CD=任务简报
diff --git a/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..7db861c28f
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base.sc2maps/maps/campaign/nova/nstory01.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,7 @@
+DocInfo/Name=諾娃 - 劇情 /// Nova Story
+MapInfo/Player00/Name=中立 /// Neutral
+MapInfo/Player01/Name=玩家1 /// Player 1
+MapInfo/Player02/Name=敵對 /// Hostile
+Param/Value/692BC2DD=[PH]艦橋畫面 /// [PH] Bridge Screen
+Param/Value/CD7292EC=你正在看艦橋!
+Param/Value/F68FF4CD=[PH]任務簡報 /// [PH] Mission Briefing
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/BankList.xml b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/BankList.xml
index 21021f1ffa..73d7af5b3d 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/BankList.xml
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/BankList.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ComponentList.SC2Components b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ComponentList.SC2Components
index aa8b808b41..f7974a5e9a 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ComponentList.SC2Components
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ComponentList.SC2Components
@@ -1,6 +1,5 @@
-
+
-
GameData
GameText
DocumentInfo
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/DocumentHeader b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/DocumentHeader
index cf13b00a07..ad668692c8 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/DocumentHeader and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/DocumentHeader differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/MapScript.galaxy b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/MapScript.galaxy
index bcd8614a52..16a5c5115b 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/MapScript.galaxy
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/MapScript.galaxy
@@ -100,6 +100,7 @@ unitgroup gv_retaliationWave_JustAttackers;
unitgroup gv_retaliationWave_WarpedInInfantry;
region gv_activeMothershipAttackRegion;
int gv_zergHatcheriesKilledInPhase1;
+int gv_allZergHatcheriesKilledInPhase1;
int gv_doMStructuresLost;
int gv_mothershipChargedCount;
int gv_objectiveDestroyZergHatcheries;
@@ -252,6 +253,7 @@ trigger gt_DoMUnitKilledAggro;
trigger gt_DoMApproachWarningQ;
trigger gt_DoMAggroWarningQ;
trigger gt_ZergHatcheriesKilledInPhase1Tracker;
+trigger gt_AllZergHatcheriesKilledInPhase1Tracker;
trigger gt_DoMStructureLostTracker;
trigger gt_MothershipChargedCountTracker;
trigger gt_StartAI;
@@ -501,6 +503,7 @@ bool auto_gf_GoToPointandDespawn_TriggerFunc (bool testConds, bool runActions) {
unit lp_unit = auto_gf_GoToPointandDespawn_lp_unit;
point lp_despawnPoint = auto_gf_GoToPointandDespawn_lp_despawnPoint;
+ // Automatic Variable Declarations
// Implementation
while ((UnitIsAlive(lp_unit) == true) && (DistanceBetweenPoints(UnitGetPosition(lp_unit), lp_despawnPoint) > 1)) {
UnitIssueOrder(lp_unit, OrderTargetingPoint(AbilityCommand("move", 0), lp_despawnPoint), c_orderQueueAddToEnd);
@@ -514,6 +517,7 @@ bool auto_gf_GoToPointandDespawn_TriggerFunc (bool testConds, bool runActions) {
}
bool gf_UnitIsArmyUnit (unit lp_unit) {
+ // Automatic Variable Declarations
// Implementation
if ((CatalogFieldValueGet(c_gameCatalogUnit, UnitGetType(lp_unit), (("FlagArray[" + "ArmySelect" + "]")), c_playerAny) == "1")) {
return true;
@@ -524,6 +528,7 @@ bool gf_UnitIsArmyUnit (unit lp_unit) {
}
void gf_SporeCrawlerPingTracker (unit lp_sporeCrawler) {
+ // Automatic Variable Declarations
// Implementation
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
if ((libHots_gf_ActorForUnit(lp_sporeCrawler, 1) == null)) {
@@ -569,13 +574,14 @@ bool auto_gf_OverseerPatrol_TriggerFunc (bool testConds, bool runActions) {
string lp_patrolPointName = auto_gf_OverseerPatrol_lp_patrolPointName;
int lp_patrolIndexCount = auto_gf_OverseerPatrol_lp_patrolIndexCount;
- fixed auto97AFD4EC_at;
-
// Variable Declarations
unit lv_overseer;
int lv_overseerPlayer;
int lv_i;
+ // Automatic Variable Declarations
+ fixed auto97AFD4EC_at;
+
// Variable Initialization
// Implementation
@@ -628,19 +634,26 @@ void gf_ZergExpansion (region lp_expansionRegion) {
bool auto_gf_ZergExpansion_TriggerFunc (bool testConds, bool runActions) {
region lp_expansionRegion = auto_gf_ZergExpansion_lp_expansionRegion;
+ // Automatic Variable Declarations
+ unitgroup auto90DF6E28_g;
+ int auto90DF6E28_u;
+ unit auto90DF6E28_var;
+
// Implementation
AIToggleBulliesInRegion(gv_pLAYER_06_ZERG, lp_expansionRegion, true);
AIToggleBulliesInRegion(gv_pLAYER_07_ZERG, lp_expansionRegion, true);
while ((UnitGroupCount(UnitGroup("Elsecaro_Colonist_Hut", 0, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) > 0)) {
- UnitGroupLoopBegin(UnitGroup("Elsecaro_Colonist_Hut", 0, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((CreepIsPresent(UnitGetPosition(UnitGroupLoopCurrent())) == true)) {
- libNtve_gf_AICast(UnitGroupClosestToPoint(UnitGroup(null, gv_pLAYER_06_ZERG, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), UnitGetPosition(UnitGroupLoopCurrent())), OrderTargetingUnit(AbilityCommand("attack", 0), UnitGroupLoopCurrent()));
- libNtve_gf_AICast(UnitGroupClosestToPoint(UnitGroup(null, gv_pLAYER_07_ZERG, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), UnitGetPosition(UnitGroupLoopCurrent())), OrderTargetingUnit(AbilityCommand("attack", 0), UnitGroupLoopCurrent()));
+ auto90DF6E28_g = UnitGroup("Elsecaro_Colonist_Hut", 0, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto90DF6E28_u = UnitGroupCount(auto90DF6E28_g, c_unitCountAll);
+ for (;; auto90DF6E28_u -= 1) {
+ auto90DF6E28_var = UnitGroupUnitFromEnd(auto90DF6E28_g, auto90DF6E28_u);
+ if (auto90DF6E28_var == null) { break; }
+ if ((CreepIsPresent(UnitGetPosition(auto90DF6E28_var)) == true)) {
+ libNtve_gf_AICast(UnitGroupClosestToPoint(UnitGroup(null, gv_pLAYER_06_ZERG, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), UnitGetPosition(auto90DF6E28_var)), OrderTargetingUnit(AbilityCommand("attack", 0), auto90DF6E28_var));
+ libNtve_gf_AICast(UnitGroupClosestToPoint(UnitGroup(null, gv_pLAYER_07_ZERG, lp_expansionRegion, UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), UnitGetPosition(auto90DF6E28_var)), OrderTargetingUnit(AbilityCommand("attack", 0), auto90DF6E28_var));
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
}
return true;
@@ -650,6 +663,7 @@ void gf_AddZergUnitsToAttackWave (string lp_unitType, int lp_count, point lp_spa
// Variable Declarations
int lv_attackingPlayer;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -667,6 +681,7 @@ void gf_zzOLDSendZergAttackWave (int lp_zerglingCount, int lp_roachCount, int lp
// Variable Declarations
int lv_attackingPlayer;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -705,97 +720,126 @@ void gf_SpawnRetaliationUnits (int lp_zealotCount, int lp_stalkerCount, int lp_i
point lv_randomishSpawnPoint;
unit lv_closestGenerator;
+ // Automatic Variable Declarations
+ unitgroup auto116063F0_g;
+ int auto116063F0_u;
+ unit auto116063F0_var;
+ int autoBB28B4E8_ae;
+ int autoBB28B4E8_var;
+ int autoD32C90D4_ae;
+ int autoD32C90D4_var;
+ int auto8431FF2B_ae;
+ int auto8431FF2B_var;
+ int autoED1A0E0E_ae;
+ int autoED1A0E0E_var;
+ int autoE8CB8916_ae;
+ int autoE8CB8916_var;
+ int auto546636D7_ae;
+ int auto546636D7_var;
+ int autoA23B6681_ae;
+ int autoA23B6681_var;
+ int auto6C51DBB1_ae;
+ int auto6C51DBB1_var;
+ int autoCC7DA202_ae;
+ int autoCC7DA202_var;
+ int autoEC4B0FAA_ae;
+ int autoEC4B0FAA_var;
+ int auto6AEE7118_ae;
+ int auto6AEE7118_var;
+
// Variable Initialization
lv_livingGenerators = UnitGroupEmpty();
// Implementation
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitIsAlive(UnitGroupLoopCurrent()) == true)) {
- UnitGroupAdd(lv_livingGenerators, UnitGroupLoopCurrent());
+ auto116063F0_g = gv_shieldProjectors;
+ auto116063F0_u = UnitGroupCount(auto116063F0_g, c_unitCountAll);
+ for (;; auto116063F0_u -= 1) {
+ auto116063F0_var = UnitGroupUnitFromEnd(auto116063F0_g, auto116063F0_u);
+ if (auto116063F0_var == null) { break; }
+ if ((UnitIsAlive(auto116063F0_var) == true)) {
+ UnitGroupAdd(lv_livingGenerators, auto116063F0_var);
}
}
- UnitGroupLoopEnd();
lv_closestGenerator = UnitGroupClosestToPoint(lv_livingGenerators, PointFromId(410));
if ((lv_closestGenerator != null)) {
- IntLoopBegin(1, lp_zealotCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoBB28B4E8_ae = lp_zealotCount;
+ autoBB28B4E8_var = 1;
+ for ( ; autoBB28B4E8_var <= autoBB28B4E8_ae; autoBB28B4E8_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_stalkerCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoD32C90D4_ae = lp_stalkerCount;
+ autoD32C90D4_var = 1;
+ for ( ; autoD32C90D4_var <= autoD32C90D4_ae; autoD32C90D4_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 1), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_immortalCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto8431FF2B_ae = lp_immortalCount;
+ auto8431FF2B_var = 1;
+ for ( ; auto8431FF2B_var <= auto8431FF2B_ae; auto8431FF2B_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 2), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_colossusCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoED1A0E0E_ae = lp_colossusCount;
+ autoED1A0E0E_var = 1;
+ for ( ; autoED1A0E0E_var <= autoED1A0E0E_ae; autoED1A0E0E_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 15), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_scoutCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoE8CB8916_ae = lp_scoutCount;
+ autoE8CB8916_var = 1;
+ for ( ; autoE8CB8916_var <= autoE8CB8916_ae; autoE8CB8916_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 14), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_phoenixCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto546636D7_ae = lp_phoenixCount;
+ auto546636D7_var = 1;
+ for ( ; auto546636D7_var <= auto546636D7_ae; auto546636D7_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 7), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_voidRayCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoA23B6681_ae = lp_voidRayCount;
+ autoA23B6681_var = 1;
+ for ( ; autoA23B6681_var <= autoA23B6681_ae; autoA23B6681_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 8), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_tempestCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto6C51DBB1_ae = lp_tempestCount;
+ auto6C51DBB1_var = 1;
+ for ( ; auto6C51DBB1_var <= auto6C51DBB1_ae; auto6C51DBB1_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrainVoid", 15), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_carrierCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoCC7DA202_ae = lp_carrierCount;
+ autoCC7DA202_var = 1;
+ for ( ; autoCC7DA202_var <= autoCC7DA202_ae; autoCC7DA202_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 6), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_oracleCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoEC4B0FAA_ae = lp_oracleCount;
+ autoEC4B0FAA_var = 1;
+ for ( ; autoEC4B0FAA_var <= autoEC4B0FAA_ae; autoEC4B0FAA_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrainVoid", 1), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
- IntLoopBegin(1, lp_warpPrismCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto6AEE7118_ae = lp_warpPrismCount;
+ auto6AEE7118_var = 1;
+ for ( ; auto6AEE7118_var <= auto6AEE7118_ae; auto6AEE7118_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(lv_closestGenerator), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(409), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 16), lv_randomishSpawnPoint), c_orderQueueReplace);
Wait(0.0625, c_timeGame);
}
- IntLoopEnd();
}
}
@@ -816,6 +860,7 @@ void gf_PingUnitGroup (unitgroup lp_unitGroup) {
bool auto_gf_PingUnitGroup_TriggerFunc (bool testConds, bool runActions) {
unitgroup lp_unitGroup = auto_gf_PingUnitGroup_lp_unitGroup;
+ // Automatic Variable Declarations
// Implementation
if ((lp_unitGroup != null)) {
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingAlert", UnitGroupCenterOfGroup(lp_unitGroup), Color(100.00, 0.00, 0.00), 0.0, 270.0);
@@ -851,6 +896,12 @@ bool auto_gf_AIWarpPrism_TriggerFunc (bool testConds, bool runActions) {
unitgroup lv_nearbyValidUnits;
fixed lv_warpDelay;
+ // Automatic Variable Declarations
+ int auto08D0178E_ae;
+ int auto08D0178E_var;
+ int auto1101361A_ae;
+ int auto1101361A_var;
+
// Variable Initialization
lv_nearbyValidUnits = UnitGroupEmpty();
@@ -866,24 +917,24 @@ bool auto_gf_AIWarpPrism_TriggerFunc (bool testConds, bool runActions) {
}
lv_warpDelay = gv_retaliationPrismInitialWarpDelay;
while ((UnitIsAlive(lp_warpPrism) == true)) {
- IntLoopBegin(1, gv_retaliationPrismZealotCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto08D0178E_ae = gv_retaliationPrismZealotCount;
+ auto08D0178E_var = 1;
+ for ( ; auto08D0178E_var <= auto08D0178E_ae; auto08D0178E_var += 1 ) {
if ((UnitIsAlive(lp_warpPrism) == true) && (UnitGroupCount(UnitGroupFilter("Zealot", c_playerAny, gv_retaliationWave_WarpedInInfantry, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < gv_retaliationPrismZealotMax)) {
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), PointWithOffsetPolar(UnitGetPosition(lp_warpPrism), RandomFixed(0.0, 2.0), libNtve_gf_RandomAngle())), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
}
- IntLoopEnd();
- IntLoopBegin(1, gv_retaliationPrismStalkerCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto1101361A_ae = gv_retaliationPrismStalkerCount;
+ auto1101361A_var = 1;
+ for ( ; auto1101361A_var <= auto1101361A_ae; auto1101361A_var += 1 ) {
if ((UnitIsAlive(lp_warpPrism) == true) && (UnitGroupCount(UnitGroupFilter("Stalker", c_playerAny, gv_retaliationWave_WarpedInInfantry, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < gv_retaliationPrismZealotMax)) {
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 1), PointWithOffsetPolar(UnitGetPosition(lp_warpPrism), RandomFixed(0.0, 2.0), libNtve_gf_RandomAngle())), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
}
- IntLoopEnd();
Wait(lv_warpDelay, c_timeAI);
if ((lv_warpDelay > (gv_retaliationPrismInitialWarpDelay / 2.0)) && (libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1)) {
lv_warpDelay -= (gv_retaliationPrismInitialWarpDelay / 10.0);
@@ -897,6 +948,7 @@ void gf_AIOracle (int lp_owner, unit lp_oracle, unitgroup lp_nearbyUnits) {
// Variable Declarations
unitgroup lv_cloakedUnits;
+ // Automatic Variable Declarations
// Variable Initialization
lv_cloakedUnits = UnitGroupEmpty();
@@ -909,21 +961,23 @@ void gf_AIOracle (int lp_owner, unit lp_oracle, unitgroup lp_nearbyUnits) {
}
void gf_AIRavager (int lp_owner, unit lp_ravager, unitgroup lp_nearbyUnits) {
- unitgroup auto096D078E_g;
- int auto096D078E_u;
-
// Variable Declarations
unit lv_loopUnit;
unitgroup lv_nearbyValidUnits;
+ // Automatic Variable Declarations
+ unitgroup auto096D078E_g;
+ int auto096D078E_u;
+
// Variable Initialization
lv_nearbyValidUnits = UnitGroupEmpty();
// Implementation
auto096D078E_g = UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(lp_ravager), 8.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- auto096D078E_u = 1;
- for ( ; auto096D078E_u <= UnitGroupCount(auto096D078E_g, c_unitCountAll) ; auto096D078E_u += BoolToInt(lv_loopUnit == UnitGroupUnit(auto096D078E_g, auto096D078E_u)) ) {
- lv_loopUnit = UnitGroupUnit(auto096D078E_g, auto096D078E_u);
+ auto096D078E_u = UnitGroupCount(auto096D078E_g, c_unitCountAll);
+ for (;; auto096D078E_u -= 1) {
+ lv_loopUnit = UnitGroupUnitFromEnd(auto096D078E_g, auto096D078E_u);
+ if (lv_loopUnit == null) { break; }
if (((libNtve_gf_UnitIsVisibleToPlayer(lv_loopUnit, gv_pLAYER_06_ZERG) == true) || (libNtve_gf_UnitIsVisibleToPlayer(lv_loopUnit, gv_pLAYER_07_ZERG) == true))) {
UnitGroupAdd(lv_nearbyValidUnits, lv_loopUnit);
}
@@ -957,11 +1011,6 @@ bool auto_gf_AISporeCrawler_TriggerFunc (bool testConds, bool runActions) {
unit lp_sporeCrawler = auto_gf_AISporeCrawler_lp_sporeCrawler;
unitgroup lp_nearbyUnits = auto_gf_AISporeCrawler_lp_nearbyUnits;
- int auto968B5FCE_ae;
- int auto968B5FCE_ai;
- int auto10F83F74_ae;
- int auto10F83F74_ai;
-
// Variable Declarations
unitgroup lv_nearValidUnits;
unitgroup lv_farValidUnits;
@@ -971,42 +1020,54 @@ bool auto_gf_AISporeCrawler_TriggerFunc (bool testConds, bool runActions) {
int lv_x;
int lv_y;
+ // Automatic Variable Declarations
+ unitgroup autoC6E8BEE7_g;
+ int autoC6E8BEE7_u;
+ unit autoC6E8BEE7_var;
+ unitgroup auto2CA30ED2_g;
+ int auto2CA30ED2_u;
+ unit auto2CA30ED2_var;
+ const int auto968B5FCE_ae = 2;
+ const int auto968B5FCE_ai = 1;
+ const int auto10F83F74_ae = 2;
+ const int auto10F83F74_ai = 1;
+
// Variable Initialization
lv_nearValidUnits = UnitGroupEmpty();
lv_farValidUnits = UnitGroupEmpty();
// Implementation
lv_nearValidUnits = UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(lp_sporeCrawler), 7.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- UnitGroupLoopBegin(lv_nearValidUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitPathableToUnit(lp_sporeCrawler, UnitGroupLoopCurrent(), 0.0, 0.0) == false)) {
- UnitGroupRemove(lv_nearValidUnits, UnitGroupLoopCurrent());
+ autoC6E8BEE7_g = lv_nearValidUnits;
+ autoC6E8BEE7_u = UnitGroupCount(autoC6E8BEE7_g, c_unitCountAll);
+ for (;; autoC6E8BEE7_u -= 1) {
+ autoC6E8BEE7_var = UnitGroupUnitFromEnd(autoC6E8BEE7_g, autoC6E8BEE7_u);
+ if (autoC6E8BEE7_var == null) { break; }
+ if ((UnitPathableToUnit(lp_sporeCrawler, autoC6E8BEE7_var, 0.0, 0.0) == false)) {
+ UnitGroupRemove(lv_nearValidUnits, autoC6E8BEE7_var);
}
}
- UnitGroupLoopEnd();
lv_farValidUnits = UnitGroup(null, gv_pLAYER_01_USER, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- UnitGroupLoopBegin(lv_farValidUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitPathableToUnit(lp_sporeCrawler, UnitGroupLoopCurrent(), 0.0, 0.0) == false)) {
- UnitGroupRemove(lv_farValidUnits, UnitGroupLoopCurrent());
+ auto2CA30ED2_g = lv_farValidUnits;
+ auto2CA30ED2_u = UnitGroupCount(auto2CA30ED2_g, c_unitCountAll);
+ for (;; auto2CA30ED2_u -= 1) {
+ auto2CA30ED2_var = UnitGroupUnitFromEnd(auto2CA30ED2_g, auto2CA30ED2_u);
+ if (auto2CA30ED2_var == null) { break; }
+ if ((UnitPathableToUnit(lp_sporeCrawler, auto2CA30ED2_var, 0.0, 0.0) == false)) {
+ UnitGroupRemove(lv_farValidUnits, auto2CA30ED2_var);
}
}
- UnitGroupLoopEnd();
if ((gv_activePhase == 2)) {
UnitRemove(lp_sporeCrawler);
}
else if ((UnitGroupCount(lv_nearValidUnits, c_unitCountAlive) > 0)) {
lv_roundedCrawlerLocation = Point(Round(PointGetX(UnitGetPosition(lp_sporeCrawler))), Round(PointGetY(UnitGetPosition(lp_sporeCrawler))));
- auto968B5FCE_ae = 2;
- auto968B5FCE_ai = 1;
lv_x = -2;
- for ( ; ( (auto968B5FCE_ai >= 0 && lv_x <= auto968B5FCE_ae) || (auto968B5FCE_ai <= 0 && lv_x >= auto968B5FCE_ae) ) ; lv_x += auto968B5FCE_ai ) {
- auto10F83F74_ae = 2;
- auto10F83F74_ai = 1;
+ for ( ; ( (auto968B5FCE_ai >= 0 && lv_x <= auto968B5FCE_ae) || (auto968B5FCE_ai < 0 && lv_x >= auto968B5FCE_ae) ) ; lv_x += auto968B5FCE_ai ) {
lv_y = -2;
- for ( ; ( (auto10F83F74_ai >= 0 && lv_y <= auto10F83F74_ae) || (auto10F83F74_ai <= 0 && lv_y >= auto10F83F74_ae) ) ; lv_y += auto10F83F74_ai ) {
+ for ( ; ( (auto10F83F74_ai >= 0 && lv_y <= auto10F83F74_ae) || (auto10F83F74_ai < 0 && lv_y >= auto10F83F74_ae) ) ; lv_y += auto10F83F74_ai ) {
lv_crawlerCheckPoint = Point((PointGetX(lv_roundedCrawlerLocation) + lv_x), (PointGetY(lv_roundedCrawlerLocation) + lv_y));
if ((UnitOrderIsValid(lp_sporeCrawler, OrderTargetingPoint(AbilityCommand("SporeCrawlerRoot", 0), lv_crawlerCheckPoint)) == true)) {
if ((lv_closestValidCrawlerLocation == null)) {
@@ -1049,6 +1110,7 @@ void gf_OrderCivilianstoRun (unit lp_civilian) {
bool auto_gf_OrderCivilianstoRun_TriggerFunc (bool testConds, bool runActions) {
unit lp_civilian = auto_gf_OrderCivilianstoRun_lp_civilian;
+ // Automatic Variable Declarations
// Implementation
UnitBehaviorAdd(lp_civilian, "Run", lp_civilian, 1);
while (true) {
@@ -1089,6 +1151,7 @@ bool auto_gf_BansheeFormation_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
unit lv_banshee;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1126,6 +1189,7 @@ bool auto_gf_FollowTransportWhileLoaded_TriggerFunc (bool testConds, bool runAct
// Variable Declarations
unit lv_banshee;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1161,6 +1225,7 @@ bool auto_gf_TaldarimDeathBeamBurninator_TriggerFunc (bool testConds, bool runAc
// Variable Declarations
fixed lv_creepRemoveRadius;
+ // Automatic Variable Declarations
// Variable Initialization
lv_creepRemoveRadius = 1.5;
@@ -1195,6 +1260,7 @@ void gf_SiegeAfterUnload (unit lp_tank) {
bool auto_gf_SiegeAfterUnload_TriggerFunc (bool testConds, bool runActions) {
unit lp_tank = auto_gf_SiegeAfterUnload_lp_tank;
+ // Automatic Variable Declarations
// Implementation
while (!((libNtve_gf_UnitIsInsideTransport(lp_tank) == false))) {
Wait(0.25, c_timeReal);
@@ -1219,11 +1285,11 @@ void gf_EvacuateCivilians (unit lp_evacShip) {
bool auto_gf_EvacuateCivilians_TriggerFunc (bool testConds, bool runActions) {
unit lp_evacShip = auto_gf_EvacuateCivilians_lp_evacShip;
- int autoF5660A4F_n;
+ // Automatic Variable Declarations
+ const int autoF5660A4F_n = 25;
int autoF5660A4F_i;
// Implementation
- autoF5660A4F_n = 25;
for (autoF5660A4F_i = 1; autoF5660A4F_i <= autoF5660A4F_n; autoF5660A4F_i += 1) {
UnitCreate(1, "BeachMale", 0, gv_pLAYER_04_DEFENDERS, PointFromId(2961), 315.0);
UnitIssueOrder(UnitLastCreated(), OrderTargetingUnit(null, lp_evacShip), c_orderQueueAddToEnd);
@@ -1243,6 +1309,7 @@ bool auto_gf_EvacuateCivilians_TriggerFunc (bool testConds, bool runActions) {
// Trigger: Initialization
//--------------------------------------------------------------------------------------------------
bool gt_Initialization_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1277,6 +1344,7 @@ void gt_Initialization_Init () {
// Trigger: Init 01 Technology
//--------------------------------------------------------------------------------------------------
bool gt_Init01Technology_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1303,6 +1371,7 @@ void gt_Init01Technology_Init () {
// Trigger: Init 02 Players
//--------------------------------------------------------------------------------------------------
bool gt_Init02Players_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1348,80 +1417,136 @@ void gt_Init02Players_Init () {
// Trigger: Init 03 Units
//--------------------------------------------------------------------------------------------------
bool gt_Init03Units_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto864AF0F3_g;
+ int auto864AF0F3_u;
+ unit auto864AF0F3_var;
+ unitgroup auto9E622B6E_g;
+ int auto9E622B6E_u;
+ unit auto9E622B6E_var;
+ playergroup autoD0C55ADC_g;
+ int autoD0C55ADC_var;
+ unitgroup auto00EAB231_g;
+ int auto00EAB231_u;
+ unit auto00EAB231_var;
+ unitgroup auto34CB6B7E_g;
+ int auto34CB6B7E_u;
+ unit auto34CB6B7E_var;
+ unitgroup autoC110A405_g;
+ int autoC110A405_u;
+ unit autoC110A405_var;
+ unitgroup auto32DCCB06_g;
+ int auto32DCCB06_u;
+ unit auto32DCCB06_var;
+ unitgroup auto7F00C447_g;
+ int auto7F00C447_u;
+ unit auto7F00C447_var;
+ unitgroup autoA248CAF7_g;
+ int autoA248CAF7_u;
+ unit autoA248CAF7_var;
+ unitgroup autoB9F9D5E1_g;
+ int autoB9F9D5E1_u;
+ unit autoB9F9D5E1_var;
+ unitgroup auto7F70B0AE_g;
+ int auto7F70B0AE_u;
+ unit auto7F70B0AE_var;
+
// Actions
if (!runActions) {
return true;
}
libNtve_gf_PauseUnit(UnitFromId(2822), true);
- UnitGroupLoopBegin(UnitGroup("Observer", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitGroupAdd(gv_stage1PausedObservers, UnitGroupLoopCurrent());
+ auto864AF0F3_g = UnitGroup("Observer", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto864AF0F3_u = UnitGroupCount(auto864AF0F3_g, c_unitCountAll);
+ for (;; auto864AF0F3_u -= 1) {
+ auto864AF0F3_var = UnitGroupUnitFromEnd(auto864AF0F3_g, auto864AF0F3_u);
+ if (auto864AF0F3_var == null) { break; }
+ libNtve_gf_PauseUnit(auto864AF0F3_var, true);
+ UnitGroupAdd(gv_stage1PausedObservers, auto864AF0F3_var);
}
- UnitGroupLoopEnd();
AISetUnitScriptControlled(UnitFromId(409), true);
gv_mothership = UnitFromId(549);
UnitIssueOrder(gv_mothership, Order(AbilityCommand("NovaMothershipWarpOut", 0)), c_orderQueueReplace);
libNCMI_gf_SetAllWorkerRallyPointsForPlayer(gv_pLAYER_01_USER);
UnitGroupAddUnitGroup(gv_shieldProjectors, UnitGroup("TaldarimShieldGenerator", gv_pLAYER_05_TALDARIM, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionFromId(21), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- gv_zergStartingStructureCount += UnitGroupCount(UnitGroup(null, PlayerGroupLoopCurrent(), RegionFromId(7), UnitFilter((1 << c_targetFilterStructure) | (1 << c_targetFilterPreventDefeat), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive);
- UnitGroupAddUnitGroup(gv_zergHatcheries, UnitGroup("Hatchery", PlayerGroupLoopCurrent(), RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- UnitGroupAddUnitGroup(gv_zergHatcheries, UnitGroup("Lair", PlayerGroupLoopCurrent(), RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- AIToggleBulliesInRegion(PlayerGroupLoopCurrent(), RegionFromId(12), false);
- }
- PlayerGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("PalletMinerals", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("PalletGas", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Elsecaro_Colonist_Hut", 0, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShareVisionofUnit(UnitGroupLoopCurrent(), true, gv_pLAYER_01_USER);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("BeachMale", gv_pLAYER_03_CIVILIANS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "BeachCivilianScared", UnitGroupLoopCurrent(), 1);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("BeachGirl", gv_pLAYER_03_CIVILIANS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "BeachCivilianScared", UnitGroupLoopCurrent(), 1);
- }
- UnitGroupLoopEnd();
+ auto9E622B6E_g = UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionFromId(21), UnitFilter(0, 0, 0, 0), 0);
+ auto9E622B6E_u = UnitGroupCount(auto9E622B6E_g, c_unitCountAll);
+ for (;; auto9E622B6E_u -= 1) {
+ auto9E622B6E_var = UnitGroupUnitFromEnd(auto9E622B6E_g, auto9E622B6E_u);
+ if (auto9E622B6E_var == null) { break; }
+ libNtve_gf_PauseUnit(auto9E622B6E_var, true);
+ }
+ autoD0C55ADC_g = gv_playerGroup_Zerg;
+ autoD0C55ADC_var = -1;
+ while (true) {
+ autoD0C55ADC_var = PlayerGroupNextPlayer(autoD0C55ADC_g, autoD0C55ADC_var);
+ if (autoD0C55ADC_var < 0) { break; }
+ gv_zergStartingStructureCount += UnitGroupCount(UnitGroup(null, autoD0C55ADC_var, RegionFromId(7), UnitFilter((1 << c_targetFilterStructure) | (1 << c_targetFilterPreventDefeat), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive);
+ UnitGroupAddUnitGroup(gv_zergHatcheries, UnitGroup("Hatchery", autoD0C55ADC_var, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
+ UnitGroupAddUnitGroup(gv_zergHatcheries, UnitGroup("Lair", autoD0C55ADC_var, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
+ AIToggleBulliesInRegion(autoD0C55ADC_var, RegionFromId(12), false);
+ }
+ auto00EAB231_g = UnitGroup("PalletMinerals", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ auto00EAB231_u = UnitGroupCount(auto00EAB231_g, c_unitCountAll);
+ for (;; auto00EAB231_u -= 1) {
+ auto00EAB231_var = UnitGroupUnitFromEnd(auto00EAB231_g, auto00EAB231_u);
+ if (auto00EAB231_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto00EAB231_var, false);
+ }
+ auto34CB6B7E_g = UnitGroup("PalletGas", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ auto34CB6B7E_u = UnitGroupCount(auto34CB6B7E_g, c_unitCountAll);
+ for (;; auto34CB6B7E_u -= 1) {
+ auto34CB6B7E_var = UnitGroupUnitFromEnd(auto34CB6B7E_g, auto34CB6B7E_u);
+ if (auto34CB6B7E_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto34CB6B7E_var, false);
+ }
+ autoC110A405_g = UnitGroup("Elsecaro_Colonist_Hut", 0, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC110A405_u = UnitGroupCount(autoC110A405_g, c_unitCountAll);
+ for (;; autoC110A405_u -= 1) {
+ autoC110A405_var = UnitGroupUnitFromEnd(autoC110A405_g, autoC110A405_u);
+ if (autoC110A405_var == null) { break; }
+ libNtve_gf_ShareVisionofUnit(autoC110A405_var, true, gv_pLAYER_01_USER);
+ }
+ auto32DCCB06_g = UnitGroup("BeachMale", gv_pLAYER_03_CIVILIANS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto32DCCB06_u = UnitGroupCount(auto32DCCB06_g, c_unitCountAll);
+ for (;; auto32DCCB06_u -= 1) {
+ auto32DCCB06_var = UnitGroupUnitFromEnd(auto32DCCB06_g, auto32DCCB06_u);
+ if (auto32DCCB06_var == null) { break; }
+ UnitBehaviorAdd(auto32DCCB06_var, "BeachCivilianScared", auto32DCCB06_var, 1);
+ }
+ auto7F00C447_g = UnitGroup("BeachGirl", gv_pLAYER_03_CIVILIANS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto7F00C447_u = UnitGroupCount(auto7F00C447_g, c_unitCountAll);
+ for (;; auto7F00C447_u -= 1) {
+ auto7F00C447_var = UnitGroupUnitFromEnd(auto7F00C447_g, auto7F00C447_u);
+ if (auto7F00C447_var == null) { break; }
+ UnitBehaviorAdd(auto7F00C447_var, "BeachCivilianScared", auto7F00C447_var, 1);
+ }
UnitSetOwner(UnitFromId(563), gv_pLAYER_03_CIVILIANS, false);
UnitSetOwner(UnitFromId(825), gv_pLAYER_03_CIVILIANS, false);
UnitSetState(UnitFromId(825), c_unitStateTargetable, false);
UnitSetState(UnitFromId(825), c_unitStateSelectable, false);
- UnitGroupLoopBegin(UnitGroup("BeachGirl", gv_pLAYER_03_CIVILIANS, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAddPlayer(UnitGroupLoopCurrent(), "Scared", gv_pLAYER_03_CIVILIANS, 1);
+ autoA248CAF7_g = UnitGroup("BeachGirl", gv_pLAYER_03_CIVILIANS, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA248CAF7_u = UnitGroupCount(autoA248CAF7_g, c_unitCountAll);
+ for (;; autoA248CAF7_u -= 1) {
+ autoA248CAF7_var = UnitGroupUnitFromEnd(autoA248CAF7_g, autoA248CAF7_u);
+ if (autoA248CAF7_var == null) { break; }
+ UnitBehaviorAddPlayer(autoA248CAF7_var, "Scared", gv_pLAYER_03_CIVILIANS, 1);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("BeachMale", gv_pLAYER_03_CIVILIANS, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAddPlayer(UnitGroupLoopCurrent(), "Scared", gv_pLAYER_03_CIVILIANS, 1);
+ autoB9F9D5E1_g = UnitGroup("BeachMale", gv_pLAYER_03_CIVILIANS, RegionFromId(45), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoB9F9D5E1_u = UnitGroupCount(autoB9F9D5E1_g, c_unitCountAll);
+ for (;; autoB9F9D5E1_u -= 1) {
+ autoB9F9D5E1_var = UnitGroupUnitFromEnd(autoB9F9D5E1_g, autoB9F9D5E1_u);
+ if (autoB9F9D5E1_var == null) { break; }
+ UnitBehaviorAddPlayer(autoB9F9D5E1_var, "Scared", gv_pLAYER_03_CIVILIANS, 1);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_REIGEL, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTargetable, false);
+ auto7F70B0AE_g = UnitGroup(null, gv_pLAYER_02_REIGEL, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto7F70B0AE_u = UnitGroupCount(auto7F70B0AE_g, c_unitCountAll);
+ for (;; auto7F70B0AE_u -= 1) {
+ auto7F70B0AE_var = UnitGroupUnitFromEnd(auto7F70B0AE_g, auto7F70B0AE_u);
+ if (auto7F70B0AE_var == null) { break; }
+ UnitSetState(auto7F70B0AE_var, c_unitStateTargetable, false);
}
- UnitGroupLoopEnd();
return true;
}
@@ -1434,6 +1559,7 @@ void gt_Init03Units_Init () {
// Trigger: Init 04 Music/Sound
//--------------------------------------------------------------------------------------------------
bool gt_Init04MusicSound_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1456,6 +1582,7 @@ void gt_Init04MusicSound_Init () {
// Trigger: Init 05 Environment
//--------------------------------------------------------------------------------------------------
bool gt_Init05Environment_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1482,6 +1609,13 @@ void gt_Init05Environment_Init () {
// Trigger: Init 06 Difficulties
//--------------------------------------------------------------------------------------------------
bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoC4E51E3D_g;
+ int autoC4E51E3D_u;
+ unit autoC4E51E3D_var;
+ playergroup autoF1C32FBC_g;
+ int autoF1C32FBC_var;
+
// Actions
if (!runActions) {
return true;
@@ -1491,40 +1625,44 @@ bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
CatalogFieldValueSet(c_gameCatalogEffect, "SOAMothershipLineAttackV2Damage", "Amount", gv_pLAYER_05_TALDARIM, "100");
}
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifeMax, libLotv_gf_DifficultyValueFixed2(1000.0, 1000.0, 1500.0, 1500.0));
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropShieldsMax, libLotv_gf_DifficultyValueFixed2(500.0, 500.0, 1000.0, 1500.0));
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifePercent, 100.0);
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropShieldsPercent, 100.0);
+ autoC4E51E3D_g = gv_shieldProjectors;
+ autoC4E51E3D_u = UnitGroupCount(autoC4E51E3D_g, c_unitCountAll);
+ for (;; autoC4E51E3D_u -= 1) {
+ autoC4E51E3D_var = UnitGroupUnitFromEnd(autoC4E51E3D_g, autoC4E51E3D_u);
+ if (autoC4E51E3D_var == null) { break; }
+ UnitSetPropertyFixed(autoC4E51E3D_var, c_unitPropLifeMax, libLotv_gf_DifficultyValueFixed2(1000.0, 1000.0, 1500.0, 1500.0));
+ UnitSetPropertyFixed(autoC4E51E3D_var, c_unitPropShieldsMax, libLotv_gf_DifficultyValueFixed2(500.0, 500.0, 1000.0, 1500.0));
+ UnitSetPropertyFixed(autoC4E51E3D_var, c_unitPropLifePercent, 100.0);
+ UnitSetPropertyFixed(autoC4E51E3D_var, c_unitPropShieldsPercent, 100.0);
}
- UnitGroupLoopEnd();
UnitSetPropertyFixed(gv_mothership, c_unitPropLifeMax, libLotv_gf_DifficultyValueFixed2(750.0, 750.0, 1250.0, 1750.0));
UnitSetPropertyFixed(gv_mothership, c_unitPropShieldsMax, libLotv_gf_DifficultyValueFixed2(750.0, 750.0, 1250.0, 1750.0));
UnitSetPropertyFixed(gv_mothership, c_unitPropLifePercent, 100.0);
UnitSetPropertyFixed(gv_mothership, c_unitPropShieldsPercent, 100.0);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
+ autoF1C32FBC_g = gv_playerGroup_Zerg;
+ autoF1C32FBC_var = -1;
+ while (true) {
+ autoF1C32FBC_var = PlayerGroupNextPlayer(autoF1C32FBC_g, autoF1C32FBC_var);
+ if (autoF1C32FBC_var < 0) { break; }
if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1)) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "CentrificalHooks", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "GlialReconstitution", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "ZergMissileWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "ZergGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "ZergFlyerArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "CentrificalHooks", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "GlialReconstitution", 1);
}
if ((libLotv_gf_DifficultyValueInt2(0, 0, 0, 1) == 1)) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "zerglingmovementspeed", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "zerglingattackspeed", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "hydraliskspeed", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "HotsMuscularAugments", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ChitinousPlating", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "zerglingmovementspeed", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "zerglingattackspeed", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "hydraliskspeed", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "HotsMuscularAugments", 1);
+ TechTreeUpgradeAddLevel(autoF1C32FBC_var, "ChitinousPlating", 1);
}
}
- PlayerGroupLoopEnd();
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
TechTreeAbilityAllow(gv_pLAYER_05_TALDARIM, AbilityCommand("Charge", 0), false);
}
@@ -1549,6 +1687,7 @@ void gt_Init06Difficulties_Init () {
// Trigger: Init 07 Help
//--------------------------------------------------------------------------------------------------
bool gt_Init07Help_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1594,6 +1733,7 @@ void gt_Init07Help_Init () {
// Trigger: Debug - Stage 2
//--------------------------------------------------------------------------------------------------
bool gt_DebugStage2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -1647,6 +1787,7 @@ void gt_DebugStage2_Init () {
// Trigger: Intro Sequence
//--------------------------------------------------------------------------------------------------
bool gt_IntroSequence_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -1673,7 +1814,17 @@ void gt_IntroSequence_Init () {
// Trigger: Stage1 Start
//--------------------------------------------------------------------------------------------------
bool gt_Stage1Start_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
fixed auto25CFC45A_at;
+ unitgroup autoBC1A1F55_g;
+ int autoBC1A1F55_u;
+ unit autoBC1A1F55_var;
+ unitgroup autoEDBED939_g;
+ int autoEDBED939_u;
+ unit autoEDBED939_var;
+ unitgroup auto90BBEDA4_g;
+ int auto90BBEDA4_u;
+ unit auto90BBEDA4_var;
// Actions
if (!runActions) {
@@ -1729,38 +1880,44 @@ bool gt_Stage1Start_Func (bool testConds, bool runActions) {
Wait(3.0, c_timeGame);
ObjectiveSetState(gv_objectiveDestroyZergHatcheries, c_objectiveStateHidden);
ObjectiveSetState(gv_objectiveNovaMustSurvive, c_objectiveStateHidden);
- UnitGroupLoopBegin(UnitGroup("SporeCrawler", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libHots_gf_ActorForUnit(UnitGroupLoopCurrent(), 1) != null)) {
- libNtve_gf_KillModel(libHots_gf_ActorForUnit(UnitGroupLoopCurrent(), 1));
+ autoBC1A1F55_g = UnitGroup("SporeCrawler", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoBC1A1F55_u = UnitGroupCount(autoBC1A1F55_g, c_unitCountAll);
+ for (;; autoBC1A1F55_u -= 1) {
+ autoBC1A1F55_var = UnitGroupUnitFromEnd(autoBC1A1F55_g, autoBC1A1F55_u);
+ if (autoBC1A1F55_var == null) { break; }
+ if ((libHots_gf_ActorForUnit(autoBC1A1F55_var, 1) != null)) {
+ libNtve_gf_KillModel(libHots_gf_ActorForUnit(autoBC1A1F55_var, 1));
}
- if ((libHots_gf_PingStoredForUnit(UnitGroupLoopCurrent(), 1) != c_invalidPingId)) {
- PingDestroy(libHots_gf_PingStoredForUnit(UnitGroupLoopCurrent(), 1));
+ if ((libHots_gf_PingStoredForUnit(autoBC1A1F55_var, 1) != c_invalidPingId)) {
+ PingDestroy(libHots_gf_PingStoredForUnit(autoBC1A1F55_var, 1));
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("SporeCrawlerUprooted", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libHots_gf_ActorForUnit(UnitGroupLoopCurrent(), 1) != null)) {
- libNtve_gf_KillModel(libHots_gf_ActorForUnit(UnitGroupLoopCurrent(), 1));
+ autoEDBED939_g = UnitGroup("SporeCrawlerUprooted", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoEDBED939_u = UnitGroupCount(autoEDBED939_g, c_unitCountAll);
+ for (;; autoEDBED939_u -= 1) {
+ autoEDBED939_var = UnitGroupUnitFromEnd(autoEDBED939_g, autoEDBED939_u);
+ if (autoEDBED939_var == null) { break; }
+ if ((libHots_gf_ActorForUnit(autoEDBED939_var, 1) != null)) {
+ libNtve_gf_KillModel(libHots_gf_ActorForUnit(autoEDBED939_var, 1));
}
- if ((libHots_gf_PingStoredForUnit(UnitGroupLoopCurrent(), 1) != c_invalidPingId)) {
- PingDestroy(libHots_gf_PingStoredForUnit(UnitGroupLoopCurrent(), 1));
+ if ((libHots_gf_PingStoredForUnit(autoEDBED939_var, 1) != c_invalidPingId)) {
+ PingDestroy(libHots_gf_PingStoredForUnit(autoEDBED939_var, 1));
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_zergHatcheries);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libHots_gf_PingStoredForUnit(UnitGroupLoopCurrent(), 1) != c_invalidPingId)) {
- PingDestroy(libHots_gf_PingStoredForUnit(UnitGroupLoopCurrent(), 1));
+ auto90BBEDA4_g = gv_zergHatcheries;
+ auto90BBEDA4_u = UnitGroupCount(auto90BBEDA4_g, c_unitCountAll);
+ for (;; auto90BBEDA4_u -= 1) {
+ auto90BBEDA4_var = UnitGroupUnitFromEnd(auto90BBEDA4_g, auto90BBEDA4_u);
+ if (auto90BBEDA4_var == null) { break; }
+ if ((libHots_gf_PingStoredForUnit(auto90BBEDA4_var, 1) != c_invalidPingId)) {
+ PingDestroy(libHots_gf_PingStoredForUnit(auto90BBEDA4_var, 1));
}
}
- UnitGroupLoopEnd();
TriggerEnable(gt_CloakReminderQ, false);
TriggerEnable(gt_ReigelBaseReminderQ, false);
TriggerExecute(gt_MidQ, true, true);
@@ -1777,6 +1934,7 @@ void gt_Stage1Start_Init () {
// Trigger: Stage1 First Order
//--------------------------------------------------------------------------------------------------
bool gt_Stage1FirstOrder_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetOwner(EventUnit()) == gv_pLAYER_01_USER))) {
@@ -1819,6 +1977,7 @@ void gt_Stage1FirstOrder_Init () {
// Trigger: Spore Crawler Spawner
//--------------------------------------------------------------------------------------------------
bool gt_SporeCrawlerSpawner_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((gv_activePhase == 1))) {
@@ -1881,6 +2040,7 @@ void gt_SporeCrawlerSpawner_Init () {
// Trigger: Hatch Killed Q
//--------------------------------------------------------------------------------------------------
bool gt_HatchKilledQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int autoE8DFBAF8_val;
// Conditions
@@ -1954,6 +2114,7 @@ void gt_HatchKilledQ_Init () {
// Trigger: Spore Crawler Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_SporeCrawlerWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -1992,6 +2153,7 @@ void gt_SporeCrawlerWarningQ_Init () {
// Trigger: Out of Time Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_OutofTimeWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2030,6 +2192,7 @@ void gt_OutofTimeWarningQ_Init () {
// Trigger: Nuke Ready Q
//--------------------------------------------------------------------------------------------------
bool gt_NukeReadyQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2072,6 +2235,11 @@ void gt_NukeReadyQ_Init () {
// Trigger: Go Kill Stuff Q
//--------------------------------------------------------------------------------------------------
bool gt_GoKillStuffQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoCBA64CD1_g;
+ int autoCBA64CD1_u;
+ unit autoCBA64CD1_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2101,12 +2269,14 @@ bool gt_GoKillStuffQ_Func (bool testConds, bool runActions) {
Wait(1.0, c_timeGame);
PlayerCreateEffectPoint(gv_pLAYER_02_REIGEL, "ScannerSweep", PointFromId(382));
Wait(1.0, c_timeGame);
- UnitGroupLoopBegin(gv_zergHatcheries);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_CreateObjectivePing(true, UnitGetPosition(UnitGroupLoopCurrent()), StringExternal("Param/Value/B70020E2"));
- libHots_gf_StorePingForUnit(UnitGroupLoopCurrent(), 1, PingLastCreated());
+ autoCBA64CD1_g = gv_zergHatcheries;
+ autoCBA64CD1_u = UnitGroupCount(autoCBA64CD1_g, c_unitCountAll);
+ for (;; autoCBA64CD1_u -= 1) {
+ autoCBA64CD1_var = UnitGroupUnitFromEnd(autoCBA64CD1_g, autoCBA64CD1_u);
+ if (autoCBA64CD1_var == null) { break; }
+ libNCMI_gf_CreateObjectivePing(true, UnitGetPosition(autoCBA64CD1_var), StringExternal("Param/Value/B70020E2"));
+ libHots_gf_StorePingForUnit(autoCBA64CD1_var, 1, PingLastCreated());
}
- UnitGroupLoopEnd();
TransmissionWait(TransmissionLastSent(), 0.0);
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00040", c_transmissionDurationAdd, 0.0, true, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
libComC_gf_SetAllSoundChannelVolumesCampaign(libComC_ge_VolumeChannelModeCampaign_Game);
@@ -2123,6 +2293,7 @@ void gt_GoKillStuffQ_Init () {
// Trigger: Cloak Reminder Q
//--------------------------------------------------------------------------------------------------
bool gt_CloakReminderQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGroupHasUnit(gv_introBanshees, EventUnit()) == true))) {
@@ -2174,6 +2345,7 @@ void gt_CloakReminderQ_Init () {
// Trigger: Reigel Base Reminder Q
//--------------------------------------------------------------------------------------------------
bool gt_ReigelBaseReminderQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventPlayer() == gv_pLAYER_01_USER))) {
@@ -2221,6 +2393,7 @@ void gt_ReigelBaseReminderQ_Init () {
// Trigger: Reigel SCV Stopper
//--------------------------------------------------------------------------------------------------
bool gt_ReigelSCVStopper_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetOwner(EventUnitCargo()) == gv_pLAYER_02_REIGEL))) {
@@ -2259,6 +2432,7 @@ void gt_ReigelSCVStopper_Init () {
// Trigger: Reigel Supply Depot Builder
//--------------------------------------------------------------------------------------------------
bool gt_ReigelSupplyDepotBuilder_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetOwner(EventUnitCargo()) == gv_pLAYER_02_REIGEL))) {
@@ -2312,6 +2486,7 @@ void gt_ReigelSupplyDepotBuilder_Init () {
// Trigger: Reigel Nuke Armer
//--------------------------------------------------------------------------------------------------
bool gt_ReigelNukeArmer_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetOwner(EventUnitProgressUnit()) == gv_pLAYER_02_REIGEL))) {
@@ -2356,6 +2531,7 @@ void gt_ReigelNukeArmer_Init () {
// Trigger: Reigel Base Setup Timing
//--------------------------------------------------------------------------------------------------
bool gt_ReigelBaseSetupTiming_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -2380,6 +2556,7 @@ void gt_ReigelBaseSetupTiming_Init () {
// Trigger: Reigel Untargetable
//--------------------------------------------------------------------------------------------------
bool gt_ReigelUntargetable_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetOwner(EventUnitCreatedUnit()) == gv_pLAYER_02_REIGEL))) {
@@ -2418,6 +2595,14 @@ void gt_ReigelUntargetable_Init () {
// Trigger: Stage 2 Start
//--------------------------------------------------------------------------------------------------
bool gt_Stage2Start_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto53EF84F2_g;
+ int auto53EF84F2_u;
+ unit auto53EF84F2_var;
+ unitgroup autoC1A9B210_g;
+ int autoC1A9B210_u;
+ unit autoC1A9B210_var;
+
// Actions
if (!runActions) {
return true;
@@ -2436,11 +2621,13 @@ bool gt_Stage2Start_Func (bool testConds, bool runActions) {
libNCMI_gf_AddMissionTipCampaign("Death Fleet");
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/792ACB64"), null, PointFromId(410));
UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeResourcePanel, true);
- UnitGroupLoopBegin(gv_stage1PausedObservers);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
+ auto53EF84F2_g = gv_stage1PausedObservers;
+ auto53EF84F2_u = UnitGroupCount(auto53EF84F2_g, c_unitCountAll);
+ for (;; auto53EF84F2_u -= 1) {
+ auto53EF84F2_var = UnitGroupUnitFromEnd(auto53EF84F2_g, auto53EF84F2_u);
+ if (auto53EF84F2_var == null) { break; }
+ libNtve_gf_PauseUnit(auto53EF84F2_var, false);
}
- UnitGroupLoopEnd();
libNtve_gf_CreateUnitsWithDefaultFacing(1, "QueenBurrowed", 0, gv_pLAYER_06_ZERG, PointFromId(5142));
libNtve_gf_CreateUnitsWithDefaultFacing(1, "QueenBurrowed", 0, gv_pLAYER_07_ZERG, PointFromId(5143));
libNCMI_gf_StartingWorkersAutoHarvest(RegionFromId(3), null);
@@ -2457,11 +2644,13 @@ bool gt_Stage2Start_Func (bool testConds, bool runActions) {
DialogControlHookupStandard(c_triggerControlTypeImage, "UIContainer/ConsoleUIContainer/ProgressFrameTemplate/BarImage");
libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Assets\\Textures\\ui_ingame_lotv_bossbarframe_fill.dds", PlayerGroupAll());
libCMUI_gf_SetProgressBarColor(Color(2.35, 67.45, 46.27));
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "Signal WorkStart");
+ autoC1A9B210_g = gv_shieldProjectors;
+ autoC1A9B210_u = UnitGroupCount(autoC1A9B210_g, c_unitCountAll);
+ for (;; autoC1A9B210_u -= 1) {
+ autoC1A9B210_var = UnitGroupUnitFromEnd(autoC1A9B210_g, autoC1A9B210_u);
+ if (autoC1A9B210_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(autoC1A9B210_var, "Signal WorkStart");
}
- UnitGroupLoopEnd();
TriggerExecute(gt_ZergExpandAcrossMap, true, false);
return true;
}
@@ -2475,6 +2664,7 @@ void gt_Stage2Start_Init () {
// Trigger: Stage 2 Intro Q
//--------------------------------------------------------------------------------------------------
bool gt_Stage2IntroQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -2519,6 +2709,10 @@ bool gt_WeatherChange_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ const int auto941AB97A_ae = 10;
+ int auto941AB97A_var;
+
// Variable Initialization
// Conditions
@@ -2535,12 +2729,11 @@ bool gt_WeatherChange_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
GameSetLighting("ElsecaroShower", 60.0);
- IntLoopBegin(1, 10);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- libNtve_gf_ShowHideDoodadsInRegion(true, RegionRect(0.0, 0.0, (IntLoopCurrent() * 20.0), 184.0), "RainSprinkle");
+ auto941AB97A_var = 1;
+ for ( ; auto941AB97A_var <= auto941AB97A_ae; auto941AB97A_var += 1 ) {
+ libNtve_gf_ShowHideDoodadsInRegion(true, RegionRect(0.0, 0.0, (auto941AB97A_var * 20.0), 184.0), "RainSprinkle");
Wait(5.0, c_timeReal);
}
- IntLoopEnd();
return true;
}
@@ -2553,6 +2746,7 @@ void gt_WeatherChange_Init () {
// Trigger: Zerg Larva Spawner North
//--------------------------------------------------------------------------------------------------
bool gt_ZergLarvaSpawnerNorth_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGroupCount(UnitGroup("Larva", gv_pLAYER_07_ZERG, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0), c_unitCountAlive) == 0))) {
@@ -2604,6 +2798,7 @@ void gt_ZergLarvaSpawnerNorth_Init () {
// Trigger: Zerg Larva Spawner South
//--------------------------------------------------------------------------------------------------
bool gt_ZergLarvaSpawnerSouth_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGroupCount(UnitGroup("Larva", gv_pLAYER_06_ZERG, RegionFromId(7), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0), c_unitCountAlive) == 0))) {
@@ -2655,6 +2850,7 @@ void gt_ZergLarvaSpawnerSouth_Init () {
// Trigger: Zerg Expand Across Map
//--------------------------------------------------------------------------------------------------
bool gt_ZergExpandAcrossMap_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -2681,6 +2877,7 @@ void gt_ZergExpandAcrossMap_Init () {
// Trigger: Zerg Takeover
//--------------------------------------------------------------------------------------------------
bool gt_ZergTakeover_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2720,6 +2917,7 @@ bool gt_ZergBonusObjEarlyKillQ_Func (bool testConds, bool runActions) {
// Variable Declarations
bool lv_hatchAlive;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -2762,6 +2960,11 @@ void gt_ZergBonusObjEarlyKillQ_Init () {
// Trigger: Zerg Bonus Obj Reveal Q
//--------------------------------------------------------------------------------------------------
bool gt_ZergBonusObjRevealQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto6809D27C_g;
+ int auto6809D27C_u;
+ unit auto6809D27C_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2798,12 +3001,14 @@ bool gt_ZergBonusObjRevealQ_Func (bool testConds, bool runActions) {
Wait(3.0, c_timeAI);
TriggerExecute(gt_ObjectiveDestroyRemainingZergHatcheriesCreate, true, false);
TriggerExecute(gt_ObjectiveDestroyRemainingZergHatcheriesUpdate, true, false);
- UnitGroupLoopBegin(gv_zergHatcheries);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_CreateObjectivePing(false, UnitGetPosition(UnitGroupLoopCurrent()), StringExternal("Param/Value/CCD25EF0"));
- libHots_gf_StorePingForUnit(UnitGroupLoopCurrent(), 1, PingLastCreated());
+ auto6809D27C_g = gv_zergHatcheries;
+ auto6809D27C_u = UnitGroupCount(auto6809D27C_g, c_unitCountAll);
+ for (;; auto6809D27C_u -= 1) {
+ auto6809D27C_var = UnitGroupUnitFromEnd(auto6809D27C_g, auto6809D27C_u);
+ if (auto6809D27C_var == null) { break; }
+ libNCMI_gf_CreateObjectivePing(false, UnitGetPosition(auto6809D27C_var), StringExternal("Param/Value/CCD25EF0"));
+ libHots_gf_StorePingForUnit(auto6809D27C_var, 1, PingLastCreated());
}
- UnitGroupLoopEnd();
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/5899B4DE"), null, UnitGetPosition(UnitGroupClosestToPoint(gv_zergHatcheries, PointFromId(410))));
TransmissionWait(TransmissionLastSent(), 0.0);
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00079", c_transmissionDurationAdd, 0.0, true, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
@@ -2821,6 +3026,7 @@ void gt_ZergBonusObjRevealQ_Init () {
// Trigger: Zerg Bonus Obj Complete Q
//--------------------------------------------------------------------------------------------------
bool gt_ZergBonusObjCompleteQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -2852,11 +3058,24 @@ void gt_ZergBonusObjCompleteQ_Init () {
// Trigger: Zerg Hatchery Killed
//--------------------------------------------------------------------------------------------------
bool gt_ZergHatcheryKilled_Func (bool testConds, bool runActions) {
- int auto04F170DC_val;
-
// Variable Declarations
int lv_triggeringHiveCluster;
+ // Automatic Variable Declarations
+ unitgroup auto1E5D7E36_g;
+ int auto1E5D7E36_u;
+ unit auto1E5D7E36_var;
+ unitgroup auto0748B04F_g;
+ int auto0748B04F_u;
+ unit auto0748B04F_var;
+ unitgroup autoA6DD5DCE_g;
+ int autoA6DD5DCE_u;
+ unit autoA6DD5DCE_var;
+ unitgroup auto40C6E144_g;
+ int auto40C6E144_u;
+ unit auto40C6E144_var;
+ int auto04F170DC_val;
+
// Variable Initialization
// Conditions
@@ -2892,26 +3111,34 @@ bool gt_ZergHatcheryKilled_Func (bool testConds, bool runActions) {
}
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
- UnitGroupLoopBegin(UnitGroup("Larva", gv_pLAYER_06_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Egg", gv_pLAYER_06_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
+ auto1E5D7E36_g = UnitGroup("Larva", gv_pLAYER_06_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto1E5D7E36_u = UnitGroupCount(auto1E5D7E36_g, c_unitCountAll);
+ for (;; auto1E5D7E36_u -= 1) {
+ auto1E5D7E36_var = UnitGroupUnitFromEnd(auto1E5D7E36_g, auto1E5D7E36_u);
+ if (auto1E5D7E36_var == null) { break; }
+ UnitKill(auto1E5D7E36_var);
+ }
+ auto0748B04F_g = UnitGroup("Egg", gv_pLAYER_06_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto0748B04F_u = UnitGroupCount(auto0748B04F_g, c_unitCountAll);
+ for (;; auto0748B04F_u -= 1) {
+ auto0748B04F_var = UnitGroupUnitFromEnd(auto0748B04F_g, auto0748B04F_u);
+ if (auto0748B04F_var == null) { break; }
+ UnitKill(auto0748B04F_var);
+ }
+ autoA6DD5DCE_g = UnitGroup("Larva", gv_pLAYER_07_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA6DD5DCE_u = UnitGroupCount(autoA6DD5DCE_g, c_unitCountAll);
+ for (;; autoA6DD5DCE_u -= 1) {
+ autoA6DD5DCE_var = UnitGroupUnitFromEnd(autoA6DD5DCE_g, autoA6DD5DCE_u);
+ if (autoA6DD5DCE_var == null) { break; }
+ UnitKill(autoA6DD5DCE_var);
+ }
+ auto40C6E144_g = UnitGroup("Egg", gv_pLAYER_07_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto40C6E144_u = UnitGroupCount(auto40C6E144_g, c_unitCountAll);
+ for (;; auto40C6E144_u -= 1) {
+ auto40C6E144_var = UnitGroupUnitFromEnd(auto40C6E144_g, auto40C6E144_u);
+ if (auto40C6E144_var == null) { break; }
+ UnitKill(auto40C6E144_var);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Larva", gv_pLAYER_07_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Egg", gv_pLAYER_07_ZERG, RegionCircle(UnitGetPosition(EventUnit()), 5.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
}
auto04F170DC_val = gv_activePhase;
@@ -2958,6 +3185,11 @@ void gt_ZergHatcheryKilled_Init () {
// Trigger: Zerg Attack Waves
//--------------------------------------------------------------------------------------------------
bool gt_ZergAttackWaves_Func (bool testConds, bool runActions) {
+ // Variable Declarations
+ unitgroup lv_northHatcheryGroup;
+ unitgroup lv_southHatcheryGroup;
+
+ // Automatic Variable Declarations
int auto271F5924_val;
int autoAC34AFD2_val;
int auto0E9DCC53_val;
@@ -2967,10 +3199,6 @@ bool gt_ZergAttackWaves_Func (bool testConds, bool runActions) {
int autoE6775829_val;
int auto8923D8E3_val;
- // Variable Declarations
- unitgroup lv_northHatcheryGroup;
- unitgroup lv_southHatcheryGroup;
-
// Variable Initialization
lv_northHatcheryGroup = UnitGroupEmpty();
lv_southHatcheryGroup = UnitGroupEmpty();
@@ -3187,6 +3415,7 @@ bool gt_zzOLDZergAttackWaves_Func (bool testConds, bool runActions) {
fixed[10] lv_cluster5WaveData;
fixed[10] lv_cluster6WaveData;
+ // Automatic Variable Declarations
// Variable Initialization
lv_waveDelay = libLotv_gf_DifficultyValueFixed2(300.0, 300.0, 240.0, 180.0);
lv_growthRate = 1.25;
@@ -3264,6 +3493,7 @@ void gt_zzOLDZergAttackWaves_Init () {
// Trigger: Add Protoss Units To Glossary
//--------------------------------------------------------------------------------------------------
bool gt_AddProtossUnitsToGlossary_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3292,7 +3522,13 @@ void gt_AddProtossUnitsToGlossary_Init () {
// Trigger: Shield Projector Destroyed
//--------------------------------------------------------------------------------------------------
bool gt_ShieldProjectorDestroyed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
unit autoA2CC282B_val;
+ const int auto49060121_ae = 7;
+ int auto49060121_var;
+ unitgroup auto079A264B_g;
+ int auto079A264B_u;
+ unit auto079A264B_var;
int auto8C7A5DE8_val;
// Conditions
@@ -3336,11 +3572,10 @@ bool gt_ShieldProjectorDestroyed_Func (bool testConds, bool runActions) {
else {
}
PingDestroy(libHots_gf_PingStoredForUnit(EventUnit(), 1));
- IntLoopBegin(1, 7);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- PingDestroy(gv_mothershipArrows[IntLoopCurrent()]);
+ auto49060121_var = 1;
+ for ( ; auto49060121_var <= auto49060121_ae; auto49060121_var += 1 ) {
+ PingDestroy(gv_mothershipArrows[auto49060121_var]);
}
- IntLoopEnd();
gv_attackMode = false;
TriggerExecute(gt_StartDefenseModeQ, true, false);
TriggerExecute(gt_WeatherChange, true, false);
@@ -3378,11 +3613,13 @@ bool gt_ShieldProjectorDestroyed_Func (bool testConds, bool runActions) {
libCMUI_gf_SetProgressBarTitle(StringExternal("Param/Value/56837E28"));
libCMUI_gf_SetProgressBarColor(Color(2.35, 67.45, 46.27));
libCMUI_gf_SetProgressBarProgress(FixedToInt(TimerGetElapsed(gv_defenseModeTimer)));
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "Signal WorkStart");
+ auto079A264B_g = gv_shieldProjectors;
+ auto079A264B_u = UnitGroupCount(auto079A264B_g, c_unitCountAll);
+ for (;; auto079A264B_u -= 1) {
+ auto079A264B_var = UnitGroupUnitFromEnd(auto079A264B_g, auto079A264B_u);
+ if (auto079A264B_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(auto079A264B_var, "Signal WorkStart");
}
- UnitGroupLoopEnd();
TriggerEnable(gt_MothershipAlmostReadyQ, true);
}
libNCMI_gf_CreateMissionAutosavePoint(StringToText(""));
@@ -3470,6 +3707,20 @@ bool gt_MothershipReinforcements_Func (bool testConds, bool runActions) {
int lv_stalkerCount;
int lv_immortalCount;
+ // Automatic Variable Declarations
+ int auto5C91E4F1_ae;
+ int auto5C91E4F1_var;
+ int auto06BE99DC_ae;
+ int auto06BE99DC_var;
+ int auto62721354_ae;
+ int auto62721354_var;
+ int autoF669412A_ae;
+ int autoF669412A_var;
+ int auto2A8A5644_ae;
+ int auto2A8A5644_var;
+ int autoDE7B174B_ae;
+ int autoDE7B174B_var;
+
// Variable Initialization
lv_zealotCount = 2;
lv_stalkerCount = 3;
@@ -3497,45 +3748,45 @@ bool gt_MothershipReinforcements_Func (bool testConds, bool runActions) {
while (!((UnitIsAlive(gv_mothership) == true) && ((UnitGetPropertyFixed(gv_mothership, c_unitPropLifePercent, c_unitPropCurrent) + UnitGetPropertyFixed(gv_mothership, c_unitPropShieldsPercent, c_unitPropCurrent)) <= 133.33))) {
Wait(1.0, c_timeAI);
}
- IntLoopBegin(1, lv_zealotCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto5C91E4F1_ae = lv_zealotCount;
+ auto5C91E4F1_var = 1;
+ for ( ; auto5C91E4F1_var <= auto5C91E4F1_ae; auto5C91E4F1_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(gv_mothership), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), lv_randomishSpawnPoint), c_orderQueueReplace);
}
- IntLoopEnd();
- IntLoopBegin(1, lv_stalkerCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto06BE99DC_ae = lv_stalkerCount;
+ auto06BE99DC_var = 1;
+ for ( ; auto06BE99DC_var <= auto06BE99DC_ae; auto06BE99DC_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(gv_mothership), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 1), lv_randomishSpawnPoint), c_orderQueueReplace);
}
- IntLoopEnd();
- IntLoopBegin(1, lv_immortalCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto62721354_ae = lv_immortalCount;
+ auto62721354_var = 1;
+ for ( ; auto62721354_var <= auto62721354_ae; auto62721354_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(gv_mothership), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 2), lv_randomishSpawnPoint), c_orderQueueReplace);
}
- IntLoopEnd();
while (!((UnitIsAlive(gv_mothership) == true) && ((UnitGetPropertyFixed(gv_mothership, c_unitPropLifePercent, c_unitPropCurrent) + UnitGetPropertyFixed(gv_mothership, c_unitPropShieldsPercent, c_unitPropCurrent)) <= 66.66))) {
Wait(1.0, c_timeAI);
}
- IntLoopBegin(1, lv_zealotCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoF669412A_ae = lv_zealotCount;
+ autoF669412A_var = 1;
+ for ( ; autoF669412A_var <= autoF669412A_ae; autoF669412A_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(gv_mothership), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), lv_randomishSpawnPoint), c_orderQueueReplace);
}
- IntLoopEnd();
- IntLoopBegin(1, lv_stalkerCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ auto2A8A5644_ae = lv_stalkerCount;
+ auto2A8A5644_var = 1;
+ for ( ; auto2A8A5644_var <= auto2A8A5644_ae; auto2A8A5644_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(gv_mothership), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 1), lv_randomishSpawnPoint), c_orderQueueReplace);
}
- IntLoopEnd();
- IntLoopBegin(1, lv_immortalCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoDE7B174B_ae = lv_immortalCount;
+ autoDE7B174B_var = 1;
+ for ( ; autoDE7B174B_var <= autoDE7B174B_ae; autoDE7B174B_var += 1 ) {
lv_randomishSpawnPoint = PointWithOffsetPolar(UnitGetPosition(gv_mothership), RandomFixed(0.0, 4.0), libNtve_gf_RandomAngle());
UnitIssueOrder(UnitFromId(512), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 2), lv_randomishSpawnPoint), c_orderQueueReplace);
}
- IntLoopEnd();
return true;
}
@@ -3548,6 +3799,13 @@ void gt_MothershipReinforcements_Init () {
// Trigger: Start Mothership Attack
//--------------------------------------------------------------------------------------------------
bool gt_StartMothershipAttack_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto72B4FA16_g;
+ int auto72B4FA16_u;
+ unit auto72B4FA16_var;
+ const int autoF942182F_ae = 7;
+ int autoF942182F_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3572,28 +3830,29 @@ bool gt_StartMothershipAttack_Func (bool testConds, bool runActions) {
gv_attackMode = true;
libCMUI_gf_SetProgressBarTitle(StringExternal("Param/Value/2B6A0A26"));
libCMUI_gf_SetProgressBarColor(Color(100.00, 43.53, 0.00));
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "Signal WorkEnd");
+ auto72B4FA16_g = gv_shieldProjectors;
+ auto72B4FA16_u = UnitGroupCount(auto72B4FA16_g, c_unitCountAll);
+ for (;; auto72B4FA16_u -= 1) {
+ auto72B4FA16_var = UnitGroupUnitFromEnd(auto72B4FA16_g, auto72B4FA16_u);
+ if (auto72B4FA16_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(auto72B4FA16_var, "Signal WorkEnd");
}
- UnitGroupLoopEnd();
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingBoss", UnitGetPosition(gv_mothership), Color(100.00, 0.00, 0.00), 0.0, 270.0);
PingSetUnit(PingLastCreated(), gv_mothership);
PingSetTooltip(PingLastCreated(), StringExternal("Param/Value/146AAE02"));
gv_mothershipPing = PingLastCreated();
UnitSetPosition(gv_mothership, PointFromId(476), false);
UnitIssueOrder(gv_mothership, Order(AbilityCommand("NovaMothershipWarpIn", 0)), c_orderQueueReplace);
- IntLoopBegin(1, 7);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
+ autoF942182F_var = 1;
+ for ( ; autoF942182F_var <= autoF942182F_ae; autoF942182F_var += 1 ) {
if ((gv_attackMode == true)) {
- PingCreateWithPlayerId(PlayerGroupAll(), "PingArrow", PointFromName(("ArrowPing" + IntToString(IntLoopCurrent()))), Color(100.00, 0.00, 0.00), 0.0, gv_pLAYER_01_USER);
+ PingCreateWithPlayerId(PlayerGroupAll(), "PingArrow", PointFromName(("ArrowPing" + IntToString(autoF942182F_var))), Color(100.00, 0.00, 0.00), 0.0, gv_pLAYER_01_USER);
PingSetScale(PingLastCreated(), 0.8);
- gv_mothershipArrows[IntLoopCurrent()] = PingLastCreated();
+ gv_mothershipArrows[autoF942182F_var] = PingLastCreated();
Wait(0.25, c_timeReal);
}
}
- IntLoopEnd();
return true;
}
@@ -3607,6 +3866,7 @@ void gt_StartMothershipAttack_Init () {
// Trigger: Start Mothership Attack Q
//--------------------------------------------------------------------------------------------------
bool gt_StartMothershipAttackQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto3304CD65_val;
// Actions
@@ -3685,6 +3945,7 @@ void gt_StartMothershipAttackQ_Init () {
// Trigger: Mothership Almost Ready Q
//--------------------------------------------------------------------------------------------------
bool gt_MothershipAlmostReadyQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto9EEA5451_val;
// Conditions
@@ -3752,6 +4013,7 @@ void gt_MothershipAlmostReadyQ_Init () {
// Trigger: Start Defense Mode Q
//--------------------------------------------------------------------------------------------------
bool gt_StartDefenseModeQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int autoC653C846_val;
// Actions
@@ -3835,6 +4097,7 @@ void gt_StartDefenseModeQ_Init () {
// Trigger: Mothership Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_MothershipWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGroupCount(UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(gv_mothership), 13.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) >= 1))) {
@@ -3887,6 +4150,7 @@ void gt_MothershipWarningQ_Init () {
// Trigger: Protoss Bonus Obj Early Reveal
//--------------------------------------------------------------------------------------------------
bool gt_ProtossBonusObjEarlyReveal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventPlayer() == gv_pLAYER_01_USER))) {
@@ -3925,6 +4189,7 @@ void gt_ProtossBonusObjEarlyReveal_Init () {
// Trigger: Protoss Bonus Obj Reveal Q
//--------------------------------------------------------------------------------------------------
bool gt_ProtossBonusObjRevealQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -3974,6 +4239,7 @@ void gt_ProtossBonusObjRevealQ_Init () {
// Trigger: Protoss Bonus Obj Complete Q
//--------------------------------------------------------------------------------------------------
bool gt_ProtossBonusObjCompleteQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4009,6 +4275,7 @@ bool gt_ProtossBonusObjDestroyed_Func (bool testConds, bool runActions) {
// Variable Declarations
point lv_triggeringUnitPoint;
+ // Automatic Variable Declarations
// Variable Initialization
lv_triggeringUnitPoint = UnitGetPosition(EventUnit());
@@ -4054,6 +4321,7 @@ void gt_ProtossBonusObjDestroyed_Init () {
// Trigger: Defense Mode Timer Update
//--------------------------------------------------------------------------------------------------
bool gt_DefenseModeTimerUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TimerGetDuration(gv_defenseModeTimer) > 0.0))) {
@@ -4102,6 +4370,10 @@ void gt_DefenseModeTimerUpdate_Init () {
// Trigger: Attack Mode Arrow Update
//--------------------------------------------------------------------------------------------------
bool gt_AttackModeArrowUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ const int auto7912E419_ae = 7;
+ int auto7912E419_var;
+
// Conditions
if (testConds) {
if (!((gv_attackMode == true))) {
@@ -4126,14 +4398,13 @@ bool gt_AttackModeArrowUpdate_Func (bool testConds, bool runActions) {
return true;
}
- IntLoopBegin(1, 7);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((DistanceBetweenPoints(Point(PointGetX(UnitGetPosition(gv_mothership)), 0.0), Point(PointGetX(PointFromName(("ArrowPing" + IntToString(IntLoopCurrent())))), 0.0)) < 8.0)) {
- PingDestroy(gv_mothershipArrows[IntLoopCurrent()]);
+ auto7912E419_var = 1;
+ for ( ; auto7912E419_var <= auto7912E419_ae; auto7912E419_var += 1 ) {
+ if ((DistanceBetweenPoints(Point(PointGetX(UnitGetPosition(gv_mothership)), 0.0), Point(PointGetX(PointFromName(("ArrowPing" + IntToString(auto7912E419_var)))), 0.0)) < 8.0)) {
+ PingDestroy(gv_mothershipArrows[auto7912E419_var]);
}
}
- IntLoopEnd();
return true;
}
@@ -4147,6 +4418,7 @@ void gt_AttackModeArrowUpdate_Init () {
// Trigger: RetaliationUnitSpawned
//--------------------------------------------------------------------------------------------------
bool gt_RetaliationUnitSpawned_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetType(EventUnit()) == "SuperWarpGate"))) {
@@ -4196,6 +4468,7 @@ void gt_RetaliationUnitSpawned_Init () {
// Trigger: DOM Zone 1
//--------------------------------------------------------------------------------------------------
bool gt_DOMZone1_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNtve_gf_UnitInRegion(EventUnit(), RegionFromId(4)) == true))) {
@@ -4248,6 +4521,7 @@ void gt_DOMZone1_Init () {
// Trigger: DOM Zone 1 Q
//--------------------------------------------------------------------------------------------------
bool gt_DOMZone1Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -4271,6 +4545,7 @@ void gt_DOMZone1Q_Init () {
// Trigger: DOM Zone 2
//--------------------------------------------------------------------------------------------------
bool gt_DOMZone2_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNtve_gf_UnitInRegion(EventUnit(), RegionFromId(5)) == true))) {
@@ -4323,6 +4598,7 @@ void gt_DOMZone2_Init () {
// Trigger: DOM Zone 2 Q
//--------------------------------------------------------------------------------------------------
bool gt_DOMZone2Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -4345,6 +4621,7 @@ void gt_DOMZone2Q_Init () {
// Trigger: DOM Zone 3
//--------------------------------------------------------------------------------------------------
bool gt_DOMZone3_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNtve_gf_UnitInRegion(EventUnit(), RegionFromId(6)) == true))) {
@@ -4397,6 +4674,7 @@ void gt_DOMZone3_Init () {
// Trigger: DOM Zone 3 Q
//--------------------------------------------------------------------------------------------------
bool gt_DOMZone3Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -4420,6 +4698,7 @@ void gt_DOMZone3Q_Init () {
// Trigger: DoM Region Aggro
//--------------------------------------------------------------------------------------------------
bool gt_DoMRegionAggro_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventPlayer() == gv_pLAYER_01_USER))) {
@@ -4470,6 +4749,7 @@ void gt_DoMRegionAggro_Init () {
// Trigger: DoM Unit Killed Aggro
//--------------------------------------------------------------------------------------------------
bool gt_DoMUnitKilledAggro_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNtve_gf_KillingPlayer() == gv_pLAYER_01_USER))) {
@@ -4513,6 +4793,7 @@ void gt_DoMUnitKilledAggro_Init () {
// Trigger: DoM Approach Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_DoMApproachWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4543,6 +4824,7 @@ void gt_DoMApproachWarningQ_Init () {
// Trigger: DoM Aggro Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_DoMAggroWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4574,6 +4856,7 @@ void gt_DoMAggroWarningQ_Init () {
// Trigger: Zerg Hatcheries Killed In Phase 1 Tracker
//--------------------------------------------------------------------------------------------------
bool gt_ZergHatcheriesKilledInPhase1Tracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGroupHasUnit(gv_zergHatcheries, EventUnit()) == true))) {
@@ -4620,10 +4903,66 @@ void gt_ZergHatcheriesKilledInPhase1Tracker_Init () {
TriggerAddEventUnitDied(gt_ZergHatcheriesKilledInPhase1Tracker, null);
}
+//--------------------------------------------------------------------------------------------------
+// Trigger: All Zerg Hatcheries Killed In Phase 1 Tracker
+//--------------------------------------------------------------------------------------------------
+bool gt_AllZergHatcheriesKilledInPhase1Tracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ // Conditions
+ if (testConds) {
+ if (!((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1))) {
+ return false;
+ }
+
+ if (!((UnitGroupHasUnit(gv_zergHatcheries, EventUnit()) == true))) {
+ return false;
+ }
+
+ if (!(((EventPlayer() == gv_pLAYER_06_ZERG) || (EventPlayer() == gv_pLAYER_07_ZERG)))) {
+ return false;
+ }
+
+ if (!((gv_activePhase == 1))) {
+ return false;
+ }
+
+ if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
+ return false;
+ }
+
+ if (!((libNCMI_gf_GameIsOver() == false))) {
+ return false;
+ }
+
+ if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
+ return false;
+ }
+ }
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ gv_allZergHatcheriesKilledInPhase1 += 1;
+ if ((gv_allZergHatcheriesKilledInPhase1 == 6)) {
+ libComC_gf_CampaignAwardAchievement("Anniversary_Nova04", gv_pLAYER_01_USER);
+ }
+
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_AllZergHatcheriesKilledInPhase1Tracker_Init () {
+ gt_AllZergHatcheriesKilledInPhase1Tracker = TriggerCreate("gt_AllZergHatcheriesKilledInPhase1Tracker_Func");
+ TriggerAddEventUnitDied(gt_AllZergHatcheriesKilledInPhase1Tracker, null);
+}
+
//--------------------------------------------------------------------------------------------------
// Trigger: DoM Structure Lost Tracker
//--------------------------------------------------------------------------------------------------
bool gt_DoMStructureLostTracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventPlayer() == gv_pLAYER_04_DEFENDERS))) {
@@ -4666,6 +5005,7 @@ void gt_DoMStructureLostTracker_Init () {
// Trigger: Mothership Charged Count Tracker
//--------------------------------------------------------------------------------------------------
bool gt_MothershipChargedCountTracker_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4700,6 +5040,11 @@ void gt_MothershipChargedCountTracker_Init () {
// Trigger: Start AI
//--------------------------------------------------------------------------------------------------
bool gt_StartAI_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoD2ACF650_g;
+ int autoD2ACF650_u;
+ unit autoD2ACF650_var;
+
// Actions
if (!runActions) {
return true;
@@ -4728,11 +5073,13 @@ bool gt_StartAI_Func (bool testConds, bool runActions) {
TriggerExecute(gt_AIUpgradeBrutal, true, false);
}
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_DeclareNextTown(gv_pLAYER_05_TALDARIM, UnitGetPosition(UnitGroupLoopCurrent()));
+ autoD2ACF650_g = gv_shieldProjectors;
+ autoD2ACF650_u = UnitGroupCount(autoD2ACF650_g, c_unitCountAll);
+ for (;; autoD2ACF650_u -= 1) {
+ autoD2ACF650_var = UnitGroupUnitFromEnd(autoD2ACF650_g, autoD2ACF650_u);
+ if (autoD2ACF650_var == null) { break; }
+ libNtve_gf_DeclareNextTown(gv_pLAYER_05_TALDARIM, UnitGetPosition(autoD2ACF650_var));
}
- UnitGroupLoopEnd();
return true;
}
@@ -4750,6 +5097,11 @@ bool gt_MothershipController_Func (bool testConds, bool runActions) {
unitgroup lv_nearClusteredUnits;
unitgroup lv_attackingGroup;
+ // Automatic Variable Declarations
+ unitgroup autoB6338AD8_g;
+ int autoB6338AD8_u;
+ unit autoB6338AD8_var;
+
// Variable Initialization
lv_activeZoneTargets = UnitGroupEmpty();
lv_nearClusteredUnits = UnitGroupEmpty();
@@ -4779,14 +5131,16 @@ bool gt_MothershipController_Func (bool testConds, bool runActions) {
UnitGroupAddUnitGroup(lv_nearClusteredUnits, UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(gv_mothership), 12.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
UnitGroupAddUnitGroup(lv_nearClusteredUnits, UnitGroup(null, gv_pLAYER_04_DEFENDERS, RegionCircle(UnitGetPosition(gv_mothership), 12.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
UnitGroupAddUnitGroup(lv_nearClusteredUnits, UnitGroup(null, gv_pLAYER_06_ZERG, RegionCircle(UnitGetPosition(gv_mothership), 12.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- UnitGroupLoopBegin(lv_nearClusteredUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGroupCount(UnitGroup(null, UnitGetOwner(UnitGroupLoopCurrent()), RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 2.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < 3)) {
- UnitGroupRemove(lv_nearClusteredUnits, UnitGroupLoopCurrent());
+ autoB6338AD8_g = lv_nearClusteredUnits;
+ autoB6338AD8_u = UnitGroupCount(autoB6338AD8_g, c_unitCountAll);
+ for (;; autoB6338AD8_u -= 1) {
+ autoB6338AD8_var = UnitGroupUnitFromEnd(autoB6338AD8_g, autoB6338AD8_u);
+ if (autoB6338AD8_var == null) { break; }
+ if ((UnitGroupCount(UnitGroup(null, UnitGetOwner(autoB6338AD8_var), RegionCircle(UnitGetPosition(autoB6338AD8_var), 2.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < 3)) {
+ UnitGroupRemove(lv_nearClusteredUnits, autoB6338AD8_var);
}
}
- UnitGroupLoopEnd();
if ((UnitGroupCount(lv_nearClusteredUnits, c_unitCountAlive) > 0)) {
UnitIssueOrder(gv_mothership, OrderTargetingPoint(AbilityCommand("SOAMothershipLineAttackV2", 0), UnitGetPosition(UnitGroupRandomUnit(lv_nearClusteredUnits, c_unitCountAlive))), c_orderQueueReplace);
}
@@ -4833,29 +5187,39 @@ void gt_MothershipController_Init () {
// Trigger: AI Upgrade Casual/Normal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeCasualNormal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto08B83804_g;
+ int auto08B83804_var;
+ playergroup autoC6980E5F_g;
+ int autoC6980E5F_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
+ auto08B83804_g = gv_playerGroup_Zerg;
+ auto08B83804_var = -1;
+ while (true) {
+ auto08B83804_var = PlayerGroupNextPlayer(auto08B83804_g, auto08B83804_var);
+ if (auto08B83804_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto08B83804_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto08B83804_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto08B83804_var, "ZergMissileWeaponsLevel1", 1);
}
- PlayerGroupLoopEnd();
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirWeaponsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundWeaponsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirArmorsLevel1", 1);
Wait(480.0, c_timeAI);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
+ autoC6980E5F_g = gv_playerGroup_Zerg;
+ autoC6980E5F_var = -1;
+ while (true) {
+ autoC6980E5F_var = PlayerGroupNextPlayer(autoC6980E5F_g, autoC6980E5F_var);
+ if (autoC6980E5F_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoC6980E5F_var, "ZergGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoC6980E5F_var, "ZergFlyerArmorsLevel1", 1);
}
- PlayerGroupLoopEnd();
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirArmorsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundArmorsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossShieldsLevel1", 1);
@@ -4871,28 +5235,38 @@ void gt_AIUpgradeCasualNormal_Init () {
// Trigger: AI Upgrade Hard
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeHard_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup autoF57E9B6C_g;
+ int autoF57E9B6C_var;
+ playergroup auto32A9ECA2_g;
+ int auto32A9ECA2_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel2", 1);
+ autoF57E9B6C_g = gv_playerGroup_Zerg;
+ autoF57E9B6C_var = -1;
+ while (true) {
+ autoF57E9B6C_var = PlayerGroupNextPlayer(autoF57E9B6C_g, autoF57E9B6C_var);
+ if (autoF57E9B6C_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoF57E9B6C_var, "ZergMeleeWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(autoF57E9B6C_var, "ZergFlyerWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(autoF57E9B6C_var, "ZergMissileWeaponsLevel2", 1);
}
- PlayerGroupLoopEnd();
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirWeaponsLevel2", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundWeaponsLevel2", 1);
Wait(480.0, c_timeAI);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel2", 1);
+ auto32A9ECA2_g = gv_playerGroup_Zerg;
+ auto32A9ECA2_var = -1;
+ while (true) {
+ auto32A9ECA2_var = PlayerGroupNextPlayer(auto32A9ECA2_g, auto32A9ECA2_var);
+ if (auto32A9ECA2_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto32A9ECA2_var, "ZergGroundArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto32A9ECA2_var, "ZergFlyerArmorsLevel2", 1);
}
- PlayerGroupLoopEnd();
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirArmorsLevel1", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundArmorsLevel2", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossShieldsLevel2", 1);
@@ -4908,36 +5282,46 @@ void gt_AIUpgradeHard_Init () {
// Trigger: AI Upgrade Brutal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeBrutal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto71A23950_g;
+ int auto71A23950_var;
+ playergroup auto6B7C0594_g;
+ int auto6B7C0594_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel2", 1);
- }
- PlayerGroupLoopEnd();
+ auto71A23950_g = gv_playerGroup_Zerg;
+ auto71A23950_var = -1;
+ while (true) {
+ auto71A23950_var = PlayerGroupNextPlayer(auto71A23950_g, auto71A23950_var);
+ if (auto71A23950_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto71A23950_var, "ZergMeleeWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto71A23950_var, "ZergFlyerWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto71A23950_var, "ZergMissileWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto71A23950_var, "ZergGroundArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto71A23950_var, "ZergFlyerArmorsLevel2", 1);
+ }
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirWeaponsLevel2", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundWeaponsLevel2", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirArmorsLevel2", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundArmorsLevel2", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossShieldsLevel2", 1);
Wait(480.0, c_timeAI);
- PlayerGroupLoopBegin(gv_playerGroup_Zerg);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel3", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel3", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel3", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel3", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel3", 1);
- }
- PlayerGroupLoopEnd();
+ auto6B7C0594_g = gv_playerGroup_Zerg;
+ auto6B7C0594_var = -1;
+ while (true) {
+ auto6B7C0594_var = PlayerGroupNextPlayer(auto6B7C0594_g, auto6B7C0594_var);
+ if (auto6B7C0594_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto6B7C0594_var, "ZergMeleeWeaponsLevel3", 1);
+ TechTreeUpgradeAddLevel(auto6B7C0594_var, "ZergFlyerWeaponsLevel3", 1);
+ TechTreeUpgradeAddLevel(auto6B7C0594_var, "ZergMissileWeaponsLevel3", 1);
+ TechTreeUpgradeAddLevel(auto6B7C0594_var, "ZergGroundArmorsLevel3", 1);
+ TechTreeUpgradeAddLevel(auto6B7C0594_var, "ZergFlyerArmorsLevel3", 1);
+ }
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirWeaponsLevel3", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossGroundWeaponsLevel3", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_05_TALDARIM, "ProtossAirArmorsLevel3", 1);
@@ -4955,6 +5339,7 @@ void gt_AIUpgradeBrutal_Init () {
// Trigger: Defeat Base Dead
//--------------------------------------------------------------------------------------------------
bool gt_DefeatBaseDead_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -4997,6 +5382,7 @@ void gt_DefeatBaseDead_Init () {
// Trigger: Defeat Nova Dead
//--------------------------------------------------------------------------------------------------
bool gt_DefeatNovaDead_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -5034,6 +5420,7 @@ void gt_DefeatNovaDead_Init () {
// Trigger: Defeat Civilian Center Must Survive Failed
//--------------------------------------------------------------------------------------------------
bool gt_DefeatCivilianCenterMustSurviveFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventPlayer() == gv_pLAYER_03_CIVILIANS))) {
@@ -5076,6 +5463,7 @@ void gt_DefeatCivilianCenterMustSurviveFailed_Init () {
// Trigger: Victory Destroy Tal'darim Mothership Completed
//--------------------------------------------------------------------------------------------------
bool gt_VictoryDestroyTaldarimMothershipCompleted_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5108,6 +5496,7 @@ void gt_VictoryDestroyTaldarimMothershipCompleted_Init () {
// Trigger: Victory Sequence
//--------------------------------------------------------------------------------------------------
bool gt_VictorySequence_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5139,6 +5528,7 @@ void gt_VictorySequence_Init () {
// Trigger: Victory
//--------------------------------------------------------------------------------------------------
bool gt_Victory_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5181,6 +5571,7 @@ void gt_Victory_Init () {
// Trigger: Defeat
//--------------------------------------------------------------------------------------------------
bool gt_Defeat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5207,6 +5598,7 @@ void gt_Defeat_Init () {
// Trigger: Victory Cheat
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5235,6 +5627,7 @@ void gt_VictoryCheat_Init () {
// Trigger: Defeat Cheat
//--------------------------------------------------------------------------------------------------
bool gt_DefeatCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5263,6 +5656,7 @@ void gt_DefeatCheat_Init () {
// Trigger: Tip Ready Q
//--------------------------------------------------------------------------------------------------
bool gt_TipReadyQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -5300,6 +5694,7 @@ void gt_TipReadyQ_Init () {
// Trigger: Objective Destroy Zerg Hatcheries Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyZergHatcheriesCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5328,6 +5723,7 @@ void gt_ObjectiveDestroyZergHatcheriesCreate_Init () {
// Trigger: Objective Destroy Zerg Hatcheries Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyZergHatcheriesComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5359,6 +5755,7 @@ void gt_ObjectiveDestroyZergHatcheriesComplete_Init () {
// Trigger: Objective Destroy Zerg Hatcheries Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyZergHatcheriesFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5390,6 +5787,7 @@ void gt_ObjectiveDestroyZergHatcheriesFailed_Init () {
// Trigger: Objective Nova Must Survive Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveNovaMustSurviveCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5418,6 +5816,7 @@ void gt_ObjectiveNovaMustSurviveCreate_Init () {
// Trigger: Objective Nova Must Survive Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveNovaMustSurviveComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5449,6 +5848,7 @@ void gt_ObjectiveNovaMustSurviveComplete_Init () {
// Trigger: Objective Nova Must Survive Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveNovaMustSurviveFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5480,6 +5880,11 @@ void gt_ObjectiveNovaMustSurviveFailed_Init () {
// Trigger: Objective Destroy Shield Projectors Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyShieldProjectorsCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto4CD37268_g;
+ int auto4CD37268_u;
+ unit auto4CD37268_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5494,12 +5899,14 @@ bool gt_ObjectiveDestroyShieldProjectorsCreate_Func (bool testConds, bool runAct
TriggerEnable(TriggerGetCurrent(), false);
libCMMI_gf_CreateObjectiveCampaign("Nova04Primary03");
- UnitGroupLoopBegin(gv_shieldProjectors);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNCMI_gf_CreateObjectivePing(true, UnitGetPosition(UnitGroupLoopCurrent()), StringExternal("Param/Value/5692570D"));
- libHots_gf_StorePingForUnit(UnitGroupLoopCurrent(), 1, PingLastCreated());
+ auto4CD37268_g = gv_shieldProjectors;
+ auto4CD37268_u = UnitGroupCount(auto4CD37268_g, c_unitCountAll);
+ for (;; auto4CD37268_u -= 1) {
+ auto4CD37268_var = UnitGroupUnitFromEnd(auto4CD37268_g, auto4CD37268_u);
+ if (auto4CD37268_var == null) { break; }
+ libNCMI_gf_CreateObjectivePing(true, UnitGetPosition(auto4CD37268_var), StringExternal("Param/Value/5692570D"));
+ libHots_gf_StorePingForUnit(auto4CD37268_var, 1, PingLastCreated());
}
- UnitGroupLoopEnd();
gv_objectiveDestroyShieldProjectors = ObjectiveLastCreated();
Wait(libNCMI_gv_campaignObjectiveDelay, c_timeReal);
return true;
@@ -5514,6 +5921,7 @@ void gt_ObjectiveDestroyShieldProjectorsCreate_Init () {
// Trigger: Objective Destroy Shield Projectors Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyShieldProjectorsComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5545,6 +5953,7 @@ void gt_ObjectiveDestroyShieldProjectorsComplete_Init () {
// Trigger: Objective Destroy Shield Projectors Update
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyShieldProjectorsUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -5564,6 +5973,7 @@ void gt_ObjectiveDestroyShieldProjectorsUpdate_Init () {
// Trigger: Objective Destroy Shield Projectors Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyShieldProjectorsFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5595,6 +6005,7 @@ void gt_ObjectiveDestroyShieldProjectorsFailed_Init () {
// Trigger: Objective Civilian Center Must Survive Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveCivilianCenterMustSurviveCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5623,6 +6034,7 @@ void gt_ObjectiveCivilianCenterMustSurviveCreate_Init () {
// Trigger: Objective Civilian Center Must Survive Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveCivilianCenterMustSurviveComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5654,6 +6066,7 @@ void gt_ObjectiveCivilianCenterMustSurviveComplete_Init () {
// Trigger: Objective Civilian Center Must Survive Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveCivilianCenterMustSurviveFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5685,6 +6098,7 @@ void gt_ObjectiveCivilianCenterMustSurviveFailed_Init () {
// Trigger: Objective Destroy Tal'darim Mothership Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyTaldarimMothershipCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5713,6 +6127,7 @@ void gt_ObjectiveDestroyTaldarimMothershipCreate_Init () {
// Trigger: Objective Destroy Tal'darim Mothership Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyTaldarimMothershipComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5743,6 +6158,7 @@ void gt_ObjectiveDestroyTaldarimMothershipComplete_Init () {
// Trigger: Objective Destroy Tal'darim Mothership Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyTaldarimMothershipFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5774,6 +6190,7 @@ void gt_ObjectiveDestroyTaldarimMothershipFailed_Init () {
// Trigger: Objective Destroy Remaining Zerg Hatcheries Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyRemainingZergHatcheriesCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5803,6 +6220,7 @@ void gt_ObjectiveDestroyRemainingZergHatcheriesCreate_Init () {
// Trigger: Objective Destroy Remaining Zerg Hatcheries Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyRemainingZergHatcheriesComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5831,6 +6249,7 @@ void gt_ObjectiveDestroyRemainingZergHatcheriesComplete_Init () {
// Trigger: Objective Destroy Remaining Zerg Hatcheries Update
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyRemainingZergHatcheriesUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -5850,6 +6269,7 @@ void gt_ObjectiveDestroyRemainingZergHatcheriesUpdate_Init () {
// Trigger: Objective Destroy Remaining Zerg Hatcheries Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyRemainingZergHatcheriesFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5878,6 +6298,7 @@ void gt_ObjectiveDestroyRemainingZergHatcheriesFailed_Init () {
// Trigger: Objective Destroy Fleet Beacon Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyFleetBeaconCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5906,6 +6327,7 @@ void gt_ObjectiveDestroyFleetBeaconCreate_Init () {
// Trigger: Objective Destroy Fleet Beacon Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyFleetBeaconComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5934,6 +6356,7 @@ void gt_ObjectiveDestroyFleetBeaconComplete_Init () {
// Trigger: Objective Destroy Fleet Beacon Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyFleetBeaconFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5962,6 +6385,7 @@ void gt_ObjectiveDestroyFleetBeaconFailed_Init () {
// Trigger: Briefing Q
//--------------------------------------------------------------------------------------------------
bool gt_BriefingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -6005,6 +6429,7 @@ void gt_BriefingQ_Init () {
// Trigger: Briefing Scene 00 - Fortification
//--------------------------------------------------------------------------------------------------
bool gt_BriefingScene00Fortification_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -6030,6 +6455,7 @@ void gt_BriefingScene00Fortification_Init () {
// Trigger: Briefing Scene 01 - Stadium
//--------------------------------------------------------------------------------------------------
bool gt_BriefingScene01Stadium_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -6062,6 +6488,7 @@ bool gt_BriefingScene02Banshees_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_banshees;
+ // Automatic Variable Declarations
// Variable Initialization
lv_banshees = UnitGroupEmpty();
@@ -6114,7 +6541,8 @@ void gt_BriefingScene02Banshees_Init () {
// Trigger: Spawn Civilians
//--------------------------------------------------------------------------------------------------
bool gt_SpawnCivilians_Func (bool testConds, bool runActions) {
- int auto3A5DB3AF_n;
+ // Automatic Variable Declarations
+ const int auto3A5DB3AF_n = 120;
int auto3A5DB3AF_i;
// Actions
@@ -6122,7 +6550,6 @@ bool gt_SpawnCivilians_Func (bool testConds, bool runActions) {
return true;
}
- auto3A5DB3AF_n = 120;
for (auto3A5DB3AF_i = 1; auto3A5DB3AF_i <= auto3A5DB3AF_n; auto3A5DB3AF_i += 1) {
UnitCreate(1, "BeachMale", 0, 0, RegionRandomPoint(RegionFromId(44)), libNtve_gf_RandomAngle());
gf_OrderCivilianstoRun(UnitLastCreated());
@@ -6142,6 +6569,7 @@ void gt_SpawnCivilians_Init () {
// Trigger: Intro Q
//--------------------------------------------------------------------------------------------------
bool gt_IntroQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -6173,6 +6601,14 @@ void gt_IntroQ_Init () {
// Trigger: Intro Setup
//--------------------------------------------------------------------------------------------------
bool gt_IntroSetup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto99B22EDD_g;
+ int auto99B22EDD_u;
+ unit auto99B22EDD_var;
+ unitgroup autoB1C122B9_g;
+ int autoB1C122B9_u;
+ unit autoB1C122B9_var;
+
// Actions
if (!runActions) {
return true;
@@ -6182,26 +6618,30 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
libNCMI_gf_CinematicModeCampaign(true, c_transitionDurationImmediate, true);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto99B22EDD_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto99B22EDD_u = UnitGroupCount(auto99B22EDD_g, c_unitCountAll);
+ for (;; auto99B22EDD_u -= 1) {
+ auto99B22EDD_var = UnitGroupUnitFromEnd(auto99B22EDD_g, auto99B22EDD_u);
+ if (auto99B22EDD_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto99B22EDD_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto99B22EDD_var);
+ libNtve_gf_PauseUnit(auto99B22EDD_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_06_ZERG) && (UnitGetType(UnitGroupLoopCurrent()) != "Elsecaro_Colonist_Hut")) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ autoB1C122B9_g = gv_cinematicHiddenUnits;
+ autoB1C122B9_u = UnitGroupCount(autoB1C122B9_g, c_unitCountAll);
+ for (;; autoB1C122B9_u -= 1) {
+ autoB1C122B9_var = UnitGroupUnitFromEnd(autoB1C122B9_g, autoB1C122B9_u);
+ if (autoB1C122B9_var == null) { break; }
+ if ((UnitGetOwner(autoB1C122B9_var) != gv_pLAYER_06_ZERG) && (UnitGetType(autoB1C122B9_var) != "Elsecaro_Colonist_Hut")) {
+ libNtve_gf_ShowHideUnit(autoB1C122B9_var, false);
}
}
- UnitGroupLoopEnd();
if ((libNovC_gf_NovaActiveEquipmentInSlot("EQPSlotSuit") == "EQPSuitItem2")) {
UnitCreate(1, "NovaHero", 0, gv_pLAYER_01_USER, PointFromId(102), 90.0);
}
@@ -6247,6 +6687,7 @@ bool gt_IntroCinematic_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_griffon;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -6291,6 +6732,7 @@ bool gt_IntroCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -6320,6 +6762,26 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
+ unitgroup auto6B89F5CC_g;
+ int auto6B89F5CC_u;
+ unit auto6B89F5CC_var;
+ unitgroup autoB19C5691_g;
+ int autoB19C5691_u;
+ unit autoB19C5691_var;
+ unitgroup auto2A55C006_g;
+ int auto2A55C006_u;
+ unit auto2A55C006_var;
+ unitgroup autoF5157F6F_g;
+ int autoF5157F6F_u;
+ unit autoF5157F6F_var;
+ unitgroup autoED4322A3_g;
+ int autoED4322A3_u;
+ unit autoED4322A3_var;
+ unitgroup auto9053CDE8_g;
+ int auto9053CDE8_u;
+ unit auto9053CDE8_var;
+
// Variable Initialization
// Actions
@@ -6331,11 +6793,13 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
if ((gv_cinematicCompleted == true)) {
UnitGroupRemove(gv_cinematicTempUnits, gv_introNova);
gv_nova = gv_introNova;
- UnitGroupLoopBegin(gv_introBanshees);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupRemove(gv_cinematicTempUnits, UnitGroupLoopCurrent());
+ auto6B89F5CC_g = gv_introBanshees;
+ auto6B89F5CC_u = UnitGroupCount(auto6B89F5CC_g, c_unitCountAll);
+ for (;; auto6B89F5CC_u -= 1) {
+ auto6B89F5CC_var = UnitGroupUnitFromEnd(auto6B89F5CC_g, auto6B89F5CC_u);
+ if (auto6B89F5CC_var == null) { break; }
+ UnitGroupRemove(gv_cinematicTempUnits, auto6B89F5CC_var);
}
- UnitGroupLoopEnd();
}
else {
UnitCreate(1, "Banshee", 0, gv_pLAYER_01_USER, PointFromId(523), 135.0);
@@ -6349,32 +6813,42 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
UnitCreate(1, "NovaHero", 0, gv_pLAYER_01_USER, PointFromId(270), 135.0);
gv_nova = UnitLastCreated();
}
- UnitGroupLoopBegin(gv_introBanshees);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropEnergyPercent, 100.0);
+ autoB19C5691_g = gv_introBanshees;
+ autoB19C5691_u = UnitGroupCount(autoB19C5691_g, c_unitCountAll);
+ for (;; autoB19C5691_u -= 1) {
+ autoB19C5691_var = UnitGroupUnitFromEnd(autoB19C5691_g, autoB19C5691_u);
+ if (autoB19C5691_var == null) { break; }
+ UnitSetPropertyFixed(autoB19C5691_var, c_unitPropEnergyPercent, 100.0);
}
- UnitGroupLoopEnd();
CatalogFieldValueSet(c_gameCatalogUnit, "Banshee", "TurningRate", gv_pLAYER_01_USER, "1499.941");
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Larva", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
+ auto2A55C006_g = gv_cinematicTempUnits;
+ auto2A55C006_u = UnitGroupCount(auto2A55C006_g, c_unitCountAll);
+ for (;; auto2A55C006_u -= 1) {
+ auto2A55C006_var = UnitGroupUnitFromEnd(auto2A55C006_g, auto2A55C006_u);
+ if (auto2A55C006_var == null) { break; }
+ UnitRemove(auto2A55C006_var);
+ }
+ autoF5157F6F_g = gv_cinematicHiddenUnits;
+ autoF5157F6F_u = UnitGroupCount(autoF5157F6F_g, c_unitCountAll);
+ for (;; autoF5157F6F_u -= 1) {
+ autoF5157F6F_var = UnitGroupUnitFromEnd(autoF5157F6F_g, autoF5157F6F_u);
+ if (autoF5157F6F_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoF5157F6F_var, true);
+ }
+ autoED4322A3_g = gv_cinematicPausedUnits;
+ autoED4322A3_u = UnitGroupCount(autoED4322A3_g, c_unitCountAll);
+ for (;; autoED4322A3_u -= 1) {
+ autoED4322A3_var = UnitGroupUnitFromEnd(autoED4322A3_g, autoED4322A3_u);
+ if (autoED4322A3_var == null) { break; }
+ libNtve_gf_PauseUnit(autoED4322A3_var, false);
+ }
+ auto9053CDE8_g = UnitGroup("Larva", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ auto9053CDE8_u = UnitGroupCount(auto9053CDE8_g, c_unitCountAll);
+ for (;; auto9053CDE8_u -= 1) {
+ auto9053CDE8_var = UnitGroupUnitFromEnd(auto9053CDE8_g, auto9053CDE8_u);
+ if (auto9053CDE8_var == null) { break; }
+ UnitRemove(auto9053CDE8_var);
+ }
GameTimeOfDayPause(false);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, true);
VisExploreArea(gv_pLAYER_01_USER, RegionEntireMap(), false, false);
@@ -6416,6 +6890,7 @@ void gt_IntroCleanup_Init () {
// Trigger: Mid Q
//--------------------------------------------------------------------------------------------------
bool gt_MidQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -6456,6 +6931,28 @@ bool gt_MidSetup_Func (bool testConds, bool runActions) {
unitgroup lv_attackingGroup;
int lv_i;
+ // Automatic Variable Declarations
+ unitgroup auto60BE10B0_g;
+ int auto60BE10B0_u;
+ unit auto60BE10B0_var;
+ unitgroup autoF5881C37_g;
+ int autoF5881C37_u;
+ unit autoF5881C37_var;
+ unitgroup autoA8FEB7F4_g;
+ int autoA8FEB7F4_u;
+ unit autoA8FEB7F4_var;
+ unitgroup auto432E1FDF_g;
+ int auto432E1FDF_u;
+ unit auto432E1FDF_var;
+ unitgroup auto2A36C80A_g;
+ int auto2A36C80A_u;
+ unit auto2A36C80A_var;
+ const int auto38829DE8_ae = 10;
+ int auto38829DE8_var;
+ unitgroup auto7539FB33_g;
+ int auto7539FB33_u;
+ unit auto7539FB33_var;
+
// Variable Initialization
lv_attackingGroup = UnitGroupEmpty();
@@ -6470,43 +6967,53 @@ bool gt_MidSetup_Func (bool testConds, bool runActions) {
libNtve_gf_StoreUnitSelection(gv_pLAYER_01_USER, libNtve_ge_UnitSelectionStoreOption_ClearUnitSelection);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_REIGEL, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("VespeneGeyser", 0, RegionFromId(36), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false) && (UnitGroupLoopCurrent() != gv_nova) && (UnitGroupHasUnit(gv_introBanshees, UnitGroupLoopCurrent()) != true)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto60BE10B0_g = UnitGroup(null, gv_pLAYER_02_REIGEL, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto60BE10B0_u = UnitGroupCount(auto60BE10B0_g, c_unitCountAll);
+ for (;; auto60BE10B0_u -= 1) {
+ auto60BE10B0_var = UnitGroupUnitFromEnd(auto60BE10B0_g, auto60BE10B0_u);
+ if (auto60BE10B0_var == null) { break; }
+ UnitRemove(auto60BE10B0_var);
+ }
+ autoF5881C37_g = UnitGroup("VespeneGeyser", 0, RegionFromId(36), UnitFilter(0, 0, 0, 0), 0);
+ autoF5881C37_u = UnitGroupCount(autoF5881C37_g, c_unitCountAll);
+ for (;; autoF5881C37_u -= 1) {
+ autoF5881C37_var = UnitGroupUnitFromEnd(autoF5881C37_g, autoF5881C37_u);
+ if (autoF5881C37_var == null) { break; }
+ UnitRemove(autoF5881C37_var);
+ }
+ autoA8FEB7F4_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoA8FEB7F4_u = UnitGroupCount(autoA8FEB7F4_g, c_unitCountAll);
+ for (;; autoA8FEB7F4_u -= 1) {
+ autoA8FEB7F4_var = UnitGroupUnitFromEnd(autoA8FEB7F4_g, autoA8FEB7F4_u);
+ if (autoA8FEB7F4_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(autoA8FEB7F4_var) == false) && (autoA8FEB7F4_var != gv_nova) && (UnitGroupHasUnit(gv_introBanshees, autoA8FEB7F4_var) != true)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, autoA8FEB7F4_var);
+ libNtve_gf_PauseUnit(autoA8FEB7F4_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_03_CIVILIANS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_04_DEFENDERS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_ZERG, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(12)) != true)) {
- UnitGroupAdd(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
+ auto432E1FDF_g = UnitGroup(null, gv_pLAYER_06_ZERG, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto432E1FDF_u = UnitGroupCount(auto432E1FDF_g, c_unitCountAll);
+ for (;; auto432E1FDF_u -= 1) {
+ auto432E1FDF_var = UnitGroupUnitFromEnd(auto432E1FDF_g, auto432E1FDF_u);
+ if (auto432E1FDF_var == null) { break; }
+ if ((libNtve_gf_UnitInRegion(auto432E1FDF_var, RegionFromId(12)) != true)) {
+ UnitGroupAdd(gv_cinematicHiddenUnits, auto432E1FDF_var);
}
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto2A36C80A_g = gv_cinematicHiddenUnits;
+ auto2A36C80A_u = UnitGroupCount(auto2A36C80A_g, c_unitCountAll);
+ for (;; auto2A36C80A_u -= 1) {
+ auto2A36C80A_var = UnitGroupUnitFromEnd(auto2A36C80A_g, auto2A36C80A_u);
+ if (auto2A36C80A_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto2A36C80A_var, false);
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(UnitFromId(2822), true);
UnitSetOwner(UnitFromId(2822), gv_pLAYER_02_REIGEL, true);
libNtve_gf_CreateUnitsWithDefaultFacing(1, "CommandCenter", 0, gv_pLAYER_02_REIGEL, RegionGetCenter(RegionFromId(40)));
@@ -6532,21 +7039,22 @@ bool gt_MidSetup_Func (bool testConds, bool runActions) {
UnitGroupAdd(gv_midGoliaths, UnitLastCreated());
UnitCreate(1, "Goliath", 0, gv_pLAYER_02_REIGEL, PointFromId(1306), PointGetFacing(PointFromId(2810)));
UnitGroupAdd(gv_midGoliaths, UnitLastCreated());
- IntLoopBegin(1, 10);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- UnitCreate(1, "SCV", 0, gv_pLAYER_02_REIGEL, PointFromName(("S2 SCV " + IntToString(IntLoopCurrent()))), PointGetFacing(PointFromName(("S2 SCV " + IntToString(IntLoopCurrent())))));
- }
- IntLoopEnd();
- UnitGroupLoopBegin(gv_introBanshees);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ auto38829DE8_var = 1;
+ for ( ; auto38829DE8_var <= auto38829DE8_ae; auto38829DE8_var += 1 ) {
+ UnitCreate(1, "SCV", 0, gv_pLAYER_02_REIGEL, PointFromName(("S2 SCV " + IntToString(auto38829DE8_var))), PointGetFacing(PointFromName(("S2 SCV " + IntToString(auto38829DE8_var)))));
+ }
+ auto7539FB33_g = gv_introBanshees;
+ auto7539FB33_u = UnitGroupCount(auto7539FB33_g, c_unitCountAll);
+ for (;; auto7539FB33_u -= 1) {
+ auto7539FB33_var = UnitGroupUnitFromEnd(auto7539FB33_g, auto7539FB33_u);
+ if (auto7539FB33_var == null) { break; }
lv_i += 1;
- UnitSetPosition(UnitGroupLoopCurrent(), PointFromName(("S2 Banshee Start " + IntToString(lv_i))), false);
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifePercent, 100.0);
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropEnergyPercent, 100.0);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("BansheeCloak", 1)), c_orderQueueAddToEnd);
+ UnitSetPosition(auto7539FB33_var, PointFromName(("S2 Banshee Start " + IntToString(lv_i))), false);
+ UnitSetPropertyFixed(auto7539FB33_var, c_unitPropLifePercent, 100.0);
+ UnitSetPropertyFixed(auto7539FB33_var, c_unitPropEnergyPercent, 100.0);
+ UnitIssueOrder(auto7539FB33_var, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
+ UnitIssueOrder(auto7539FB33_var, Order(AbilityCommand("BansheeCloak", 1)), c_orderQueueAddToEnd);
}
- UnitGroupLoopEnd();
CatalogFieldValueSet(c_gameCatalogUnit, "Banshee", "TurningRate", gv_pLAYER_01_USER, "240");
UnitSetPropertyFixed(gv_nova, c_unitPropLifePercent, 100.0);
UnitSetPosition(gv_nova, PointFromId(2704), false);
@@ -6563,9 +7071,6 @@ void gt_MidSetup_Init () {
// Trigger: Mid Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_MidCinematic_Func (bool testConds, bool runActions) {
- int autoDDCE1A04_ae;
- int autoDDCE1A04_ai;
-
// Variable Declarations
unit lv_cinematicNova;
unit lv_cinematicMothership;
@@ -6574,6 +7079,22 @@ bool gt_MidCinematic_Func (bool testConds, bool runActions) {
int lv_i;
int lv_replacementBansheesIter;
+ // Automatic Variable Declarations
+ unitgroup auto3A6BF8C6_g;
+ int auto3A6BF8C6_u;
+ unit auto3A6BF8C6_var;
+ unitgroup auto1133977F_g;
+ int auto1133977F_u;
+ unit auto1133977F_var;
+ const int autoDDCE1A04_ae = 4;
+ const int autoDDCE1A04_ai = 1;
+ unitgroup autoD45D0069_g;
+ int autoD45D0069_u;
+ unit autoD45D0069_var;
+ unitgroup autoFCC35C65_g;
+ int autoFCC35C65_u;
+ unit autoFCC35C65_var;
+
// Variable Initialization
lv_notYetRescuedUnits = UnitGroupEmpty();
@@ -6587,11 +7108,13 @@ bool gt_MidCinematic_Func (bool testConds, bool runActions) {
TriggerSkippableBegin(PlayerGroupAll(), 0, null, true, false);
gv_cinematicCompleted = false;
CinematicFade(true, 1.0, c_fadeStyleNormal, ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, true);
- UnitGroupLoopBegin(gv_introBanshees);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("BansheeCloak", 1)), c_orderQueueReplace);
+ auto3A6BF8C6_g = gv_introBanshees;
+ auto3A6BF8C6_u = UnitGroupCount(auto3A6BF8C6_g, c_unitCountAll);
+ for (;; auto3A6BF8C6_u -= 1) {
+ auto3A6BF8C6_var = UnitGroupUnitFromEnd(auto3A6BF8C6_g, auto3A6BF8C6_u);
+ if (auto3A6BF8C6_var == null) { break; }
+ UnitIssueOrder(auto3A6BF8C6_var, Order(AbilityCommand("BansheeCloak", 1)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
SoundtrackStop(PlayerGroupAll(), c_soundtrackCategoryMusic, true);
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00042", c_transmissionDurationAdd, 0.0, false, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
UnitGroupAddUnitGroup(lv_notYetRescuedUnits, UnitGroup(null, gv_pLAYER_02_REIGEL, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
@@ -6605,19 +7128,19 @@ bool gt_MidCinematic_Func (bool testConds, bool runActions) {
UnitIssueOrder(UnitGroupUnit(gv_midMarines, 2), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(2808)), c_orderQueueReplace);
UnitIssueOrder(UnitGroupUnit(gv_midGoliaths, 1), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(2809)), c_orderQueueReplace);
UnitIssueOrder(UnitGroupUnit(gv_midGoliaths, 2), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(2810)), c_orderQueueReplace);
- UnitGroupLoopBegin(gv_introBanshees);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ auto1133977F_g = gv_introBanshees;
+ auto1133977F_u = UnitGroupCount(auto1133977F_g, c_unitCountAll);
+ for (;; auto1133977F_u -= 1) {
+ auto1133977F_var = UnitGroupUnitFromEnd(auto1133977F_g, auto1133977F_u);
+ if (auto1133977F_var == null) { break; }
lv_i += 1;
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointFromName(("S2 Banshee " + IntToString(lv_i)))), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 4), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 1.0, PointGetFacing(PointFromName(("S2 Banshee " + IntToString(lv_i)))))), c_orderQueueAddToEnd);
+ UnitIssueOrder(auto1133977F_var, OrderTargetingPoint(AbilityCommand("move", 0), PointFromName(("S2 Banshee " + IntToString(lv_i)))), c_orderQueueReplace);
+ UnitIssueOrder(auto1133977F_var, OrderTargetingPoint(AbilityCommand("move", 4), PointWithOffsetPolar(UnitGetPosition(auto1133977F_var), 1.0, PointGetFacing(PointFromName(("S2 Banshee " + IntToString(lv_i)))))), c_orderQueueAddToEnd);
}
- UnitGroupLoopEnd();
Wait(1.0, c_timeReal);
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
- autoDDCE1A04_ae = 4;
- autoDDCE1A04_ai = 1;
lv_replacementBansheesIter = (lv_i + 1);
- for ( ; ( (autoDDCE1A04_ai >= 0 && lv_replacementBansheesIter <= autoDDCE1A04_ae) || (autoDDCE1A04_ai <= 0 && lv_replacementBansheesIter >= autoDDCE1A04_ae) ) ; lv_replacementBansheesIter += autoDDCE1A04_ai ) {
+ for ( ; ( (autoDDCE1A04_ai >= 0 && lv_replacementBansheesIter <= autoDDCE1A04_ae) || (autoDDCE1A04_ai < 0 && lv_replacementBansheesIter >= autoDDCE1A04_ae) ) ; lv_replacementBansheesIter += autoDDCE1A04_ai ) {
UnitCreate(1, "Banshee", 0, gv_pLAYER_01_USER, PointFromName(("S2 Banshee " + IntToString(lv_replacementBansheesIter))), PointGetFacing(PointFromName(("S2 Banshee " + IntToString(lv_replacementBansheesIter)))));
UnitSetPropertyFixed(UnitLastCreated(), c_unitPropEnergyPercent, 100.0);
libNtve_gf_PauseUnit(UnitLastCreated(), true);
@@ -6687,16 +7210,18 @@ bool gt_MidCinematic_Func (bool testConds, bool runActions) {
Wait(2.0, c_timeReal);
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00120", c_transmissionDurationAdd, 0.0, false, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryBuild, 15.0, 1.0);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionFromId(21), UnitFilter((1 << c_targetFilterStructure), (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "TaldarimShieldGenerator")) {
- libNtve_gf_CreateUnitsWithDefaultFacing(1, UnitGetType(UnitGroupLoopCurrent()), c_unitCreateConstruct | c_unitCreateIgnorePlacement, gv_pLAYER_05_TALDARIM, UnitGetPosition(UnitGroupLoopCurrent()));
+ autoD45D0069_g = UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionFromId(21), UnitFilter((1 << c_targetFilterStructure), (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoD45D0069_u = UnitGroupCount(autoD45D0069_g, c_unitCountAll);
+ for (;; autoD45D0069_u -= 1) {
+ autoD45D0069_var = UnitGroupUnitFromEnd(autoD45D0069_g, autoD45D0069_u);
+ if (autoD45D0069_var == null) { break; }
+ if ((UnitGetType(autoD45D0069_var) != "TaldarimShieldGenerator")) {
+ libNtve_gf_CreateUnitsWithDefaultFacing(1, UnitGetType(autoD45D0069_var), c_unitCreateConstruct | c_unitCreateIgnorePlacement, gv_pLAYER_05_TALDARIM, UnitGetPosition(autoD45D0069_var));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
Wait(0.35, c_timeReal);
}
}
- UnitGroupLoopEnd();
TransmissionWait(TransmissionLastSent(), 0.0);
libNtve_gf_CreateUnitsWithDefaultFacing(1, "MothershipShadow", 0, gv_pLAYER_05_TALDARIM, PointFromId(4868));
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), RegionGetCenter(RegionFromId(21))), c_orderQueueReplace);
@@ -6706,11 +7231,13 @@ bool gt_MidCinematic_Func (bool testConds, bool runActions) {
libNCMI_gf_PlaySoundCinematic(SoundLink("Event_Nova04_MothershipRumble", 0), PlayerGroupAll(), 70.0, 0.0);
TransmissionWait(TransmissionLastSent(), 0.0);
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00047", c_transmissionDurationAdd, 0.0, true, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
- UnitGroupLoopBegin(UnitGroup("TaldarimShieldGenerator", c_playerAny, RegionFromId(21), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "Signal WorkStart");
+ autoFCC35C65_g = UnitGroup("TaldarimShieldGenerator", c_playerAny, RegionFromId(21), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoFCC35C65_u = UnitGroupCount(autoFCC35C65_g, c_unitCountAll);
+ for (;; autoFCC35C65_u -= 1) {
+ autoFCC35C65_var = UnitGroupUnitFromEnd(autoFCC35C65_g, autoFCC35C65_u);
+ if (autoFCC35C65_var == null) { break; }
+ libNtve_gf_SendActorMessageToUnit(autoFCC35C65_var, "Signal WorkStart");
}
- UnitGroupLoopEnd();
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00048", c_transmissionDurationAdd, 0.0, true, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
libNCMI_gf_SendTransmissionCampaign(null, "Mission_Nova04|Line00085", c_transmissionDurationAdd, 0.0, true, libNCMI_ge_MissionTransmissionPortraitOptioins_HidePortraitAfter, libNCMI_ge_MissionTransmissionCueSoundOptions_DefaultCueSoundBehavior);
TransmissionWait(TransmissionLastSent(), 0.0);
@@ -6733,6 +7260,7 @@ bool gt_MidCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -6763,6 +7291,41 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) {
fixed lv_fadeDuration;
int lv_i;
+ // Automatic Variable Declarations
+ unitgroup auto1FC6FEF0_g;
+ int auto1FC6FEF0_u;
+ unit auto1FC6FEF0_var;
+ unitgroup auto12EB0285_g;
+ int auto12EB0285_u;
+ unit auto12EB0285_var;
+ unitgroup autoF319CF2B_g;
+ int autoF319CF2B_u;
+ unit autoF319CF2B_var;
+ unitgroup auto499FFB9D_g;
+ int auto499FFB9D_u;
+ unit auto499FFB9D_var;
+ unitgroup autoCE0419A5_g;
+ int autoCE0419A5_u;
+ unit autoCE0419A5_var;
+ unitgroup autoC34579C0_g;
+ int autoC34579C0_u;
+ unit autoC34579C0_var;
+ unitgroup auto830779BD_g;
+ int auto830779BD_u;
+ unit auto830779BD_var;
+ unitgroup auto4C09575A_g;
+ int auto4C09575A_u;
+ unit auto4C09575A_var;
+ unitgroup auto836248AB_g;
+ int auto836248AB_u;
+ unit auto836248AB_var;
+ unitgroup auto93D1AC6B_g;
+ int auto93D1AC6B_u;
+ unit auto93D1AC6B_var;
+ unitgroup autoE9FAA735_g;
+ int autoE9FAA735_u;
+ unit autoE9FAA735_var;
+
// Variable Initialization
// Actions
@@ -6771,40 +7334,50 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) {
}
libNCMI_gf_StopCinematicSounds();
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
+ auto1FC6FEF0_g = gv_cinematicTempUnits;
+ auto1FC6FEF0_u = UnitGroupCount(auto1FC6FEF0_g, c_unitCountAll);
+ for (;; auto1FC6FEF0_u -= 1) {
+ auto1FC6FEF0_var = UnitGroupUnitFromEnd(auto1FC6FEF0_g, auto1FC6FEF0_u);
+ if (auto1FC6FEF0_var == null) { break; }
+ UnitRemove(auto1FC6FEF0_var);
+ }
+ auto12EB0285_g = gv_cinematicHiddenUnits;
+ auto12EB0285_u = UnitGroupCount(auto12EB0285_g, c_unitCountAll);
+ for (;; auto12EB0285_u -= 1) {
+ auto12EB0285_var = UnitGroupUnitFromEnd(auto12EB0285_g, auto12EB0285_u);
+ if (auto12EB0285_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto12EB0285_var, true);
+ }
+ autoF319CF2B_g = gv_cinematicPausedUnits;
+ autoF319CF2B_u = UnitGroupCount(autoF319CF2B_g, c_unitCountAll);
+ for (;; autoF319CF2B_u -= 1) {
+ autoF319CF2B_var = UnitGroupUnitFromEnd(autoF319CF2B_g, autoF319CF2B_u);
+ if (autoF319CF2B_var == null) { break; }
+ libNtve_gf_PauseUnit(autoF319CF2B_var, false);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
if ((gv_cinematicCompleted == true)) {
}
else {
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_REIGEL, RegionFromId(1), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetOwner(UnitGroupLoopCurrent(), gv_pLAYER_01_USER, true);
+ auto499FFB9D_g = UnitGroup(null, gv_pLAYER_02_REIGEL, RegionFromId(1), UnitFilter(0, 0, 0, 0), 0);
+ auto499FFB9D_u = UnitGroupCount(auto499FFB9D_g, c_unitCountAll);
+ for (;; auto499FFB9D_u -= 1) {
+ auto499FFB9D_var = UnitGroupUnitFromEnd(auto499FFB9D_g, auto499FFB9D_u);
+ if (auto499FFB9D_var == null) { break; }
+ UnitSetOwner(auto499FFB9D_var, gv_pLAYER_01_USER, true);
}
- UnitGroupLoopEnd();
UnitSetPosition(UnitGroupUnit(gv_midGoliaths, 1), PointFromId(2809), false);
UnitSetPosition(UnitGroupUnit(gv_midGoliaths, 2), PointFromId(2810), false);
UnitSetPosition(UnitGroupUnit(gv_midMarines, 1), PointFromId(2807), false);
UnitSetPosition(UnitGroupUnit(gv_midMarines, 2), PointFromId(2808), false);
- UnitGroupLoopBegin(gv_introBanshees);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ autoCE0419A5_g = gv_introBanshees;
+ autoCE0419A5_u = UnitGroupCount(autoCE0419A5_g, c_unitCountAll);
+ for (;; autoCE0419A5_u -= 1) {
+ autoCE0419A5_var = UnitGroupUnitFromEnd(autoCE0419A5_g, autoCE0419A5_u);
+ if (autoCE0419A5_var == null) { break; }
lv_i += 1;
- UnitSetPosition(UnitGroupLoopCurrent(), PointFromName(("S2 Banshee " + IntToString(lv_i))), false);
- UnitSetFacing(UnitGroupLoopCurrent(), PointGetFacing(PointFromName(("S2 Banshee " + IntToString(lv_i)))), 0.0);
+ UnitSetPosition(autoCE0419A5_var, PointFromName(("S2 Banshee " + IntToString(lv_i))), false);
+ UnitSetFacing(autoCE0419A5_var, PointGetFacing(PointFromName(("S2 Banshee " + IntToString(lv_i)))), 0.0);
}
- UnitGroupLoopEnd();
CatalogFieldValueSet(c_gameCatalogUnit, "Banshee", "TurningRate", gv_pLAYER_01_USER, "1499.941");
UnitSetPosition(gv_nova, PointFromId(60), false);
UnitSetFacing(gv_nova, PointGetFacing(PointFromId(60)), 0.0);
@@ -6815,37 +7388,49 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) {
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoDefault(), 0.0, -1, 10.0, true);
CameraPan(gv_pLAYER_01_USER, PointFromId(410), 0.0, -1, 10.0, false);
VisExploreArea(gv_pLAYER_01_USER, RegionFromId(22), true, false);
- UnitGroupLoopBegin(UnitGroup("NaturalMinerals", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("NaturalGas", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("PalletMinerals", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("PalletGas", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionFromId(21), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_06_ZERG, RegionFromId(12), UnitFilter(0, 0, 0, 0), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
+ autoC34579C0_g = UnitGroup("NaturalMinerals", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ autoC34579C0_u = UnitGroupCount(autoC34579C0_g, c_unitCountAll);
+ for (;; autoC34579C0_u -= 1) {
+ autoC34579C0_var = UnitGroupUnitFromEnd(autoC34579C0_g, autoC34579C0_u);
+ if (autoC34579C0_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoC34579C0_var, true);
+ }
+ auto830779BD_g = UnitGroup("NaturalGas", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ auto830779BD_u = UnitGroupCount(auto830779BD_g, c_unitCountAll);
+ for (;; auto830779BD_u -= 1) {
+ auto830779BD_var = UnitGroupUnitFromEnd(auto830779BD_g, auto830779BD_u);
+ if (auto830779BD_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto830779BD_var, true);
+ }
+ auto4C09575A_g = UnitGroup("PalletMinerals", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ auto4C09575A_u = UnitGroupCount(auto4C09575A_g, c_unitCountAll);
+ for (;; auto4C09575A_u -= 1) {
+ auto4C09575A_var = UnitGroupUnitFromEnd(auto4C09575A_g, auto4C09575A_u);
+ if (auto4C09575A_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto4C09575A_var, true);
+ }
+ auto836248AB_g = UnitGroup("PalletGas", 0, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0);
+ auto836248AB_u = UnitGroupCount(auto836248AB_g, c_unitCountAll);
+ for (;; auto836248AB_u -= 1) {
+ auto836248AB_var = UnitGroupUnitFromEnd(auto836248AB_g, auto836248AB_u);
+ if (auto836248AB_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto836248AB_var, true);
+ }
+ auto93D1AC6B_g = UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionFromId(21), UnitFilter(0, 0, 0, 0), 0);
+ auto93D1AC6B_u = UnitGroupCount(auto93D1AC6B_g, c_unitCountAll);
+ for (;; auto93D1AC6B_u -= 1) {
+ auto93D1AC6B_var = UnitGroupUnitFromEnd(auto93D1AC6B_g, auto93D1AC6B_u);
+ if (auto93D1AC6B_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto93D1AC6B_var, true);
+ libNtve_gf_PauseUnit(auto93D1AC6B_var, false);
+ }
+ autoE9FAA735_g = UnitGroup(null, gv_pLAYER_06_ZERG, RegionFromId(12), UnitFilter(0, 0, 0, 0), 0);
+ autoE9FAA735_u = UnitGroupCount(autoE9FAA735_g, c_unitCountAll);
+ for (;; autoE9FAA735_u -= 1) {
+ autoE9FAA735_var = UnitGroupUnitFromEnd(autoE9FAA735_g, autoE9FAA735_u);
+ if (autoE9FAA735_var == null) { break; }
+ UnitRemove(autoE9FAA735_var);
+ }
CreepModify(RegionGetCenter(RegionFromId(12)), 20.0, false, false);
SoundtrackStop(PlayerGroupAll(), c_soundtrackCategoryMusic, true);
SoundtrackPlay(PlayerGroupAll(), c_soundtrackCategoryMusic, gv_musicMainTrack, c_soundtrackCueAny, c_soundtrackIndexAny, true);
@@ -6869,6 +7454,7 @@ void gt_MidCleanup_Init () {
// Trigger: Victory Q
//--------------------------------------------------------------------------------------------------
bool gt_VictoryQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -6901,6 +7487,24 @@ void gt_VictoryQ_Init () {
// Trigger: Victory Setup
//--------------------------------------------------------------------------------------------------
bool gt_VictorySetup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup autoA8AE9C3C_g;
+ int autoA8AE9C3C_u;
+ unit autoA8AE9C3C_var;
+ unitgroup autoB6D68EDF_g;
+ int autoB6D68EDF_u;
+ unit autoB6D68EDF_var;
+ const int autoE10B3F26_ae = 2;
+ int autoE10B3F26_var;
+ const int auto6A1C4E67_ae = 4;
+ int auto6A1C4E67_var;
+ const int autoA330A8E0_ae = 8;
+ int autoA330A8E0_var;
+ const int autoAE9431CA_ae = 4;
+ int autoAE9431CA_var;
+ const int auto319E361F_ae = 4;
+ int auto319E361F_var;
+
// Actions
if (!runActions) {
return true;
@@ -6912,15 +7516,17 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
UnitClearSelection(gv_pLAYER_01_USER);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ autoA8AE9C3C_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoA8AE9C3C_u = UnitGroupCount(autoA8AE9C3C_g, c_unitCountAll);
+ for (;; autoA8AE9C3C_u -= 1) {
+ autoA8AE9C3C_var = UnitGroupUnitFromEnd(autoA8AE9C3C_g, autoA8AE9C3C_u);
+ if (autoA8AE9C3C_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(autoA8AE9C3C_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, autoA8AE9C3C_var);
+ libNtve_gf_PauseUnit(autoA8AE9C3C_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_01_USER, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
@@ -6930,31 +7536,30 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_05_TALDARIM, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_06_ZERG, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, gv_pLAYER_07_ZERG, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ autoB6D68EDF_g = gv_cinematicHiddenUnits;
+ autoB6D68EDF_u = UnitGroupCount(autoB6D68EDF_g, c_unitCountAll);
+ for (;; autoB6D68EDF_u -= 1) {
+ autoB6D68EDF_var = UnitGroupUnitFromEnd(autoB6D68EDF_g, autoB6D68EDF_u);
+ if (autoB6D68EDF_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoB6D68EDF_var, false);
}
- UnitGroupLoopEnd();
libNtve_gf_CreateUnitsWithDefaultFacing(1, "CreepTumorBurrowed", 0, gv_pLAYER_06_ZERG, PointFromId(5100));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
- IntLoopBegin(1, 2);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- libNtve_gf_CreateUnitsWithDefaultFacing(1, "SpineCrawler", 0, gv_pLAYER_06_ZERG, PointFromName(("Victory Cinematic SpineCrawler " + IntToString(IntLoopCurrent()))));
+ autoE10B3F26_var = 1;
+ for ( ; autoE10B3F26_var <= autoE10B3F26_ae; autoE10B3F26_var += 1 ) {
+ libNtve_gf_CreateUnitsWithDefaultFacing(1, "SpineCrawler", 0, gv_pLAYER_06_ZERG, PointFromName(("Victory Cinematic SpineCrawler " + IntToString(autoE10B3F26_var))));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
}
- IntLoopEnd();
- IntLoopBegin(1, 4);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- libNtve_gf_CreateUnitsAtPoint2(1, "Hydralisk", 0, gv_pLAYER_06_ZERG, PointFromName(("Victory Cinematic Hydralisk " + IntToString(IntLoopCurrent()))));
+ auto6A1C4E67_var = 1;
+ for ( ; auto6A1C4E67_var <= auto6A1C4E67_ae; auto6A1C4E67_var += 1 ) {
+ libNtve_gf_CreateUnitsAtPoint2(1, "Hydralisk", 0, gv_pLAYER_06_ZERG, PointFromName(("Victory Cinematic Hydralisk " + IntToString(auto6A1C4E67_var))));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
}
- IntLoopEnd();
- IntLoopBegin(1, 8);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- libNtve_gf_CreateUnitsAtPoint2(1, "Zergling", 0, gv_pLAYER_06_ZERG, PointFromName(("Victory Cinematic Zergling " + IntToString(IntLoopCurrent()))));
+ autoA330A8E0_var = 1;
+ for ( ; autoA330A8E0_var <= autoA330A8E0_ae; autoA330A8E0_var += 1 ) {
+ libNtve_gf_CreateUnitsAtPoint2(1, "Zergling", 0, gv_pLAYER_06_ZERG, PointFromName(("Victory Cinematic Zergling " + IntToString(autoA330A8E0_var))));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
}
- IntLoopEnd();
libNtve_gf_UnitCreateFacingPoint(1, "Medivac", 0, gv_pLAYER_04_DEFENDERS, PointFromId(5118), PointFromId(5115));
UnitCargoCreate(UnitLastCreated(), "HellionTank", 1);
libNtve_gf_ChangeUnitDamage(UnitCargoLastCreated(), libNtve_ge_UnitDamageTakenDealt_Damage_Deal, libNtve_ge_UnitDamageChangeOption_Mega2);
@@ -6997,18 +7602,16 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
libNtve_gf_ChangeUnitDamage(UnitCargoLastCreated(), libNtve_ge_UnitDamageTakenDealt_Damage_Deal, libNtve_ge_UnitDamageChangeOption_Mega2);
libNtve_gf_ChangeUnitDamage(UnitCargoLastCreated(), libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Minimal);
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("MedivacTransport", 2), PointFromId(5117)), c_orderQueueReplace);
- IntLoopBegin(1, 4);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- libNtve_gf_CreateUnitsAtPoint2(1, "Marine", 0, gv_pLAYER_04_DEFENDERS, PointFromName(("Victory Cinematic DoM Marine " + IntToString(IntLoopCurrent()))));
+ autoAE9431CA_var = 1;
+ for ( ; autoAE9431CA_var <= autoAE9431CA_ae; autoAE9431CA_var += 1 ) {
+ libNtve_gf_CreateUnitsAtPoint2(1, "Marine", 0, gv_pLAYER_04_DEFENDERS, PointFromName(("Victory Cinematic DoM Marine " + IntToString(autoAE9431CA_var))));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
}
- IntLoopEnd();
- IntLoopBegin(1, 4);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- libNtve_gf_CreateUnitsAtPoint2(1, "Goliath", 0, gv_pLAYER_04_DEFENDERS, PointFromName(("Victory Cinematic DoM Goliath " + IntToString(IntLoopCurrent()))));
+ auto319E361F_var = 1;
+ for ( ; auto319E361F_var <= auto319E361F_ae; auto319E361F_var += 1 ) {
+ libNtve_gf_CreateUnitsAtPoint2(1, "Goliath", 0, gv_pLAYER_04_DEFENDERS, PointFromName(("Victory Cinematic DoM Goliath " + IntToString(auto319E361F_var))));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
}
- IntLoopEnd();
libNtve_gf_CreateUnitsAtPoint2(1, "ColonistShip", c_unitCreateIgnorePlacement, gv_pLAYER_04_DEFENDERS, PointFromId(5121));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
return true;
@@ -7023,6 +7626,7 @@ void gt_VictorySetup_Init () {
// Trigger: Victory Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -7065,6 +7669,7 @@ bool gt_VictoryCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -7091,6 +7696,7 @@ void gt_VictoryCinematicEnd_Init () {
// Trigger: Victory Cleanup
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCleanup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -7175,6 +7781,7 @@ void InitTriggers () {
gt_DoMApproachWarningQ_Init();
gt_DoMAggroWarningQ_Init();
gt_ZergHatcheriesKilledInPhase1Tracker_Init();
+ gt_AllZergHatcheriesKilledInPhase1Tracker_Init();
gt_DoMStructureLostTracker_Init();
gt_MothershipChargedCountTracker_Init();
gt_StartAI_Init();
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Preload.xml b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Preload.xml
index b81ccb31d8..affa00e836 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Preload.xml
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Preload.xml
@@ -1,4 +1,4 @@
-
+
@@ -7,39 +7,13 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
@@ -47,7 +21,11 @@
+
+
+
+
@@ -61,13 +39,19 @@
+
+
+
+
+
+
@@ -84,41 +68,38 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
-
-
-
-
+
@@ -128,6 +109,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -312,10 +312,14 @@
+
+
+
+
+
-
@@ -323,12 +327,8 @@
-
-
-
-
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers
index 7613ba35d2..2858203d80 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers
@@ -42390,6 +42390,8 @@
+
+
@@ -42663,6 +42665,319 @@
3
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anniversary_Nova04
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6
+
+
================ -------
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers.version b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers.version
index 46c08413f3..6fa7a565fd 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers.version and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/Triggers.version differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..859ed60c44
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Forschungseinrichtung für Lufteinheitverbesserungen. Tech-Labore können an jede Produktionseinrichtung angeschlossen werden.Ermöglicht:- Banshees
+Button/Tooltip/Factory=Produktionseinrichtung für Fahrzeuge.Ermöglicht:- Kampfhellions- Goliaths
+Button/Tooltip/Starport=Produktionsgebäude für Lufteinheiten.
+Button/Tooltip/TechLabStarport=Forschungseinrichtung für Lufteinheitverbesserungen. Tech-Labore können an jede Produktionseinrichtung angeschlossen werden.Ermöglicht:- Banshees
+DocInfo/Name=Ärger im Paradies
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Zivilisten
+MapInfo/Player04/Name=Verteidiger der Menschheit
+MapInfo/Player05/Name=Tal'darim
+MapInfo/Player06/Name=Zerg
+MapInfo/Player07/Name=Zerg
+MapInfo/Player08/Name=Feindlich
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Verlorene Gebäude der Verteidiger der Menschheit
+Param/Value/08FE18CB=Zerg-Verstärkung trifft ein in
+Param/Value/146AAE02=Tal'darim-Mutterschiff
+Param/Value/2504EF5B=Zerg-Verstärkung trifft ein in
+Param/Value/2A1CDFAA=Schildprojektor der Tal'darim
+Param/Value/2B6A0A26=Mutterschiff voll aufgeladen
+Param/Value/30B05E06=Sporenkrabbler
+Param/Value/54A5AD1C=5 Tage
+Param/Value/56837E28=Mutterschiff lädt auf
+Param/Value/5692570D=Schildprojektor
+Param/Value/5899B4DE=Zerg-Brutstätte
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=Wir haben es geschafft! Das Mutterschiff zieht sich zurück. Gute Arbeit!
+Param/Value/5C08D7B5=Hellion (26 Kills)
+Param/Value/5D2C3943=Angriffstrupp der Tal'darim
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Evakuierungszentrum zerstört.
+Param/Value/792ACB64=Startort
+Param/Value/7B2F6D29=Gut gemacht.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=Wird gemacht.
+Param/Value/8A33EA74=Das war exzellente Arbeit mit den Brutstätten. Das wird ihre Reihen erheblich ausdünnen.
+Param/Value/8CE3EA4E=Nova, das Mutterschiff ist fast vollständig aufgeladen. Sie sollten in unmittelbarer Nähe eines Schildgenerators offensive Stellung beziehen. (Variation 5)
+Param/Value/9009B984=Ha, leicht verdientes Geld.
+Param/Value/912B1D8D=Jinara
+Param/Value/96B54E5E=Weiter so! Diese Wette verliere ich mit Freuden.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=AKTIV
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Mutterschiff lädt auf
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=Super! Sie ziehen sich wieder zurück!
+Param/Value/B6652F79=Flottensignalgeber der Tal'darim
+Param/Value/B70020E2=Zerg-Brutstätte
+Param/Value/BDB3A6F7=Zerg-Verstärkung trifft ein in
+Param/Value/CC281FAF=Nova wurde getötet.
+Param/Value/CCD25EF0=Zerg-Brutstätte
+Param/Value/D36A4D25=All Ihre Gebäude wurden zerstört.
+Param/Value/D57A7D19=Einsatzpunkt
+Param/Value/D8D4EE22=Ha! Die Tal'darim sind den Verteidigern der Menschheit nicht gewachsen!
+Param/Value/E562DA89=Brutstätten vor der Ankunft der Protoss vernichtet
+Param/Value/F261D56F=Flottensignalgeber der Tal'darim
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/dede.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
index 63c22fa357..05d72c42b4 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/enus.sc2data/LocalizedData/TriggerStrings.txt
@@ -141,6 +141,7 @@ Trigger/Name/255005D0=Zerg Larva Spawner South
Trigger/Name/28F5D397=Start Mothership Attack Q
Trigger/Name/29D2B52B=Defeat Cheat
Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create
+Trigger/Name/2AD8F7F7=All Zerg Hatcheries Killed In Phase 1 Tracker
Trigger/Name/2BDE17FF=Victory Sequence
Trigger/Name/2C55ADB9=DoM Approach Warning Q
Trigger/Name/2FE4D38A=Defeat Base Dead
@@ -273,6 +274,7 @@ Variable/Name/3560A437=DefenseModeCount
Variable/Name/3574DBCB=griffon
Variable/Name/35757937=closestNexus
Variable/Name/36A15666=closestGenerator
+Variable/Name/36A2ADB6=All Zerg Hatcheries Killed In Phase1
Variable/Name/3B5D3198=FadeDuration
Variable/Name/3F89E941=PLAYER_03_CIVILIANS
Variable/Name/42D0E9A6=waveDelay
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..64377c2dd2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Estructura de investigación aeronáutica. El laboratorio tecnológico encaja con cualquier estructura de producción.Permite:- Átropos
+Button/Tooltip/Factory=Instalación de producción de vehículos. Permite:- Murciélagos infernales- Goliats
+Button/Tooltip/Starport=Instalación de producción de unidades aéreas.
+Button/Tooltip/TechLabStarport=Estructura de investigación aeronáutica. El laboratorio tecnológico encaja con cualquier estructura de producción.Permite:- Átropos
+DocInfo/Name=Problemas en el paraíso
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Civiles
+MapInfo/Player04/Name=Defensores del Hombre
+MapInfo/Player05/Name=Tal'darim
+MapInfo/Player06/Name=Zerg
+MapInfo/Player07/Name=Zerg
+MapInfo/Player08/Name=Hostil
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Estructuras de los Defensores perdidas
+Param/Value/08FE18CB=Llegada de refuerzos zerg
+Param/Value/146AAE02=Nave nodriza tal'darim
+Param/Value/2504EF5B=Llegada de refuerzos zerg
+Param/Value/2A1CDFAA=Proyector de escudos tal'darim
+Param/Value/2B6A0A26=Carga de nave nodriza completa
+Param/Value/30B05E06=Reptador de esporas
+Param/Value/54A5AD1C=5 días
+Param/Value/56837E28=Carga de nave nodriza en curso
+Param/Value/5692570D=Proyector de escudos
+Param/Value/5899B4DE=Criadero zerg
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=¡Lo conseguimos! La nave nodriza se retira. Buen trabajo.
+Param/Value/5C08D7B5=Erebion (26 muertes)
+Param/Value/5D2C3943=Tropas de asalto tal'darim
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Refugio civil destruido.
+Param/Value/792ACB64=Ubicación de inicio
+Param/Value/7B2F6D29=Bien hecho.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=¡Trato hecho!
+Param/Value/8A33EA74=Destruir sus criaderos ha sido todo un acierto. Eso reducirá su número considerablemente.
+Param/Value/8CE3EA4E=Nova, la nave nodriza está casi cargada del todo. Deberías colocarte a distancia de un generador de escudos. (Variación 5)
+Param/Value/9009B984=Ja, pan comido.
+Param/Value/912B1D8D=Ji'nara
+Param/Value/96B54E5E=Sigue así. Esta es una apuesta que no me molestaría perder.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=ACTIVO
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Carga de nave nodriza en curso
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=¡Sí! ¡Se retiran otra vez!
+Param/Value/B6652F79=Baliza de flota tal'darim
+Param/Value/B70020E2=Criadero zerg
+Param/Value/BDB3A6F7=Llegada de refuerzos zerg
+Param/Value/CC281FAF=Nova ha muerto.
+Param/Value/CCD25EF0=Criadero zerg
+Param/Value/D36A4D25=Han destruido todas tus estructuras.
+Param/Value/D57A7D19=Punto de inserción
+Param/Value/D8D4EE22=¡Ja! ¡Los tal'darim no son rival para los Defensores del Hombre!
+Param/Value/E562DA89=Criaderos destruidos antes de llegar protoss
+Param/Value/F261D56F=Baliza de flota tal'darim
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/eses.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..f2e64f0384
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Estructura de investigación de naves. Cualquier estructura de producción puede albergar un Tecnolab.Habilita:- Banshees
+Button/Tooltip/Factory=Complejo de producción vehicular. Habilita:- Murciélagos infernales- Goliats
+Button/Tooltip/Starport=Complejo de producción de unidades aéreas.
+Button/Tooltip/TechLabStarport=Estructura de investigación de naves. Cualquier estructura de producción puede albergar un Tecnolab.Habilita:- Banshees
+DocInfo/Name=Problemas en el Paraíso
+MapInfo/Player00/Name=Neutral
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Civiles
+MapInfo/Player04/Name=Defensores del hombre
+MapInfo/Player05/Name=Tal'darim
+MapInfo/Player06/Name=Zerg
+MapInfo/Player07/Name=Zerg
+MapInfo/Player08/Name=Hostil
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Estructuras perdidas de los Defensores del hombre
+Param/Value/08FE18CB=Los refuerzos zerg llegan en /// Zerg Reinforcements Arrive
+Param/Value/146AAE02=Nave nodriza tal'darim
+Param/Value/2504EF5B=Los refuerzos zerg llegan en /// Zerg Reinforcements Arrive
+Param/Value/2A1CDFAA=Proyector de escudos tal'darim
+Param/Value/2B6A0A26=Nave nodriza completamente cargada
+Param/Value/30B05E06=Rastrero lanzaesporas
+Param/Value/54A5AD1C=6 días
+Param/Value/56837E28=Nave nodriza cargando
+Param/Value/5692570D=Proyector de escudos
+Param/Value/5899B4DE=Larvario zerg
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=¡Lo logramos! La Nave nodriza retrocede. ¡Excelente trabajo, equipo!
+Param/Value/5C08D7B5=Demonio (26 muertes)
+Param/Value/5D2C3943=Fuerza de ataque tal'darim
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Refugio civil destruido.
+Param/Value/792ACB64=Ubicación inicial
+Param/Value/7B2F6D29=Bien hecho.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=Prepárate.
+Param/Value/8A33EA74=Hiciste un trabajo fantástico con esos Larvarios; ya hay mucho menos.
+Param/Value/8CE3EA4E=Nova, la Nave nodriza casi termina de cargarse. Quizá sea buena idea que te acerques a un generador de escudos. (Variación 5)
+Param/Value/9009B984=Ja, dinero fácil.
+Param/Value/912B1D8D=Ji'nara
+Param/Value/96B54E5E=Sigue así; no me molestaría perder esta apuesta.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=ACTIVO
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Nave nodriza cargando
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=¡Vamos, carajo! ¡Retroceden de nuevo!
+Param/Value/B6652F79=Faro de la flota tal'darim
+Param/Value/B70020E2=Larvario zerg
+Param/Value/BDB3A6F7=Los refuerzos zerg llegan en /// Zerg Reinforcements Arrive
+Param/Value/CC281FAF=Nova ha muerto.
+Param/Value/CCD25EF0=Larvario zerg
+Param/Value/D36A4D25=Han destruido todas tus estructuras.
+Param/Value/D57A7D19=Punto de inserción
+Param/Value/D8D4EE22=¡Ja! ¡Los tal'darim no son rivales para los Defensores del hombre!
+Param/Value/E562DA89=Larvarios destruidos antes de la llegada protoss
+Param/Value/F261D56F=Faro de la flota tal'darim
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/esmx.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..11db3ae310
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Bâtiment de recherche sur les aéronefs. Le laboratoire technique s’adapte sur n’importe quel bâtiment de production.Débloque :- Banshee
+Button/Tooltip/Factory=Site de production de véhicules.Débloque :- Nettoyeur- Goliath
+Button/Tooltip/Starport=Site de production d’unités aériennes.
+Button/Tooltip/TechLabStarport=Bâtiment de recherche sur les aéronefs. Le laboratoire technique s’adapte sur n’importe quel bâtiment de production.Débloque :- Banshee
+DocInfo/Name=Voyage au bout de l’enfer
+MapInfo/Player00/Name=Neutre
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Civils
+MapInfo/Player04/Name=Défenseurs de l’humanité
+MapInfo/Player05/Name=Tal’darim
+MapInfo/Player06/Name=Zerg
+MapInfo/Player07/Name=Zerg
+MapInfo/Player08/Name=Hostile
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Bâtiments des Défenseurs de l’humanité perdus
+Param/Value/08FE18CB=Arrivée des renforts zergs
+Param/Value/146AAE02=Vaisseau mère Tal’darim
+Param/Value/2504EF5B=Arrivée des renforts zergs
+Param/Value/2A1CDFAA=Projecteur de bouclier Tal’darim
+Param/Value/2B6A0A26=Vaisseau mère totalement chargé
+Param/Value/30B05E06=Sporuleur rampant
+Param/Value/54A5AD1C=5 jours
+Param/Value/56837E28=Charge du vaisseau mère
+Param/Value/5692570D=Projecteur de bouclier
+Param/Value/5899B4DE=Couveuse zerg
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=Nous avons réussi ! Le vaisseau mère bat en retraite, beau travail.
+Param/Value/5C08D7B5=Tourmenteur (26 victimes)
+Param/Value/5D2C3943=Troupes de choc Tal’darim
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Abri occupé par les civils détruit.
+Param/Value/792ACB64=Position de départ
+Param/Value/7B2F6D29=Bien joué.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=Ça marche.
+Param/Value/8A33EA74=Beau boulot, Nova. Maintenant qu’ils sont privés de couveuses, leurs effectifs vont diminuer de manière significative.
+Param/Value/8CE3EA4E=Nova, la charge du vaisseau mère touche à sa fin. Vous feriez mieux d’attaquer un projecteur de bouclier aussi vite que possible.
+Param/Value/9009B984=Ha, c’est du tout cuit.
+Param/Value/912B1D8D=Ji’nara
+Param/Value/96B54E5E=Continuez comme ça, c’est le genre de pari qui vaut la peine d’être perdu.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=ACTIF
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Charge du vaisseau mère
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=Oui ! Ils battent à nouveau en retraite !
+Param/Value/B6652F79=Balise de la flotte Tal’darim
+Param/Value/B70020E2=Couveuse zerg
+Param/Value/BDB3A6F7=Arrivée des renforts zergs
+Param/Value/CC281FAF=Nova est morte.
+Param/Value/CCD25EF0=Couveuse zerg
+Param/Value/D36A4D25=Tous vos bâtiments ont été détruits.
+Param/Value/D57A7D19=Zone d’atterrissage
+Param/Value/D8D4EE22=Ha ! Les Tal’darim ne font pas le poids face aux Défenseurs de l’humanité !
+Param/Value/E562DA89=Couveuses détruites avant l’arrivée des Protoss
+Param/Value/F261D56F=Balise de la flotte Tal’darim
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/frfr.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..5de8503af0
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Struttura di ricerca per unità aeree. Il Modulo tecnologico è adattabile a qualunque struttura di produzione.Consente:- Banshee
+Button/Tooltip/Factory=Struttura per la produzione di veicoli. Consente:- Hellbat- Goliath
+Button/Tooltip/Starport=Struttura per la produzione di unità aeree.
+Button/Tooltip/TechLabStarport=Struttura di ricerca per unità aeree. Il Modulo tecnologico è adattabile a qualunque struttura di produzione.Consente:- Banshee
+DocInfo/Name=Guai in Paradiso
+MapInfo/Player00/Name=Neutrale
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Civili
+MapInfo/Player04/Name=Difensori dell'Umanità
+MapInfo/Player05/Name=Tal'darim
+MapInfo/Player06/Name=Zerg
+MapInfo/Player07/Name=Zerg
+MapInfo/Player08/Name=Nemico
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Strutture dei Difensori dell'Umanità perse
+Param/Value/08FE18CB=Arrivo rinforzi zerg
+Param/Value/146AAE02=Nave madre Tal'darim
+Param/Value/2504EF5B=Arrivo rinforzi zerg
+Param/Value/2A1CDFAA=Proiettore difensivo Tal'darim
+Param/Value/2B6A0A26=Nave madre carica
+Param/Value/30B05E06=Lanciaspore
+Param/Value/54A5AD1C=5 giorni
+Param/Value/56837E28=Nave madre in carica
+Param/Value/5692570D=Proiettore difensivo
+Param/Value/5899B4DE=Vivaio zerg
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=Ce l'abbiamo fatta! La Nave madre si ritira, bel lavoro.
+Param/Value/5C08D7B5=Hellion (26 uccisioni)
+Param/Value/5D2C3943=Forza di attacco Tal'darim
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Rifugio dei civili distrutto.
+Param/Value/792ACB64=Posizione iniziale
+Param/Value/7B2F6D29=Ben fatto.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=Tocca a te.
+Param/Value/8A33EA74=Complimenti per aver distrutto i Vivai. Ora il numero di zerg sarà notevolmente ridotto.
+Param/Value/8CE3EA4E=Nova, la Nave madre è quasi carica. Ti conviene raggiungere un proiettore difensivo.
+Param/Value/9009B984=Ah, soldi facili.
+Param/Value/912B1D8D=Ji'nara
+Param/Value/96B54E5E=Continua così, è una scommessa che sono felice di perdere.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=ATTIVO
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Nave madre in carica
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=Sì! Si ritirano di nuovo!
+Param/Value/B6652F79=Faro della flotta Tal'darim
+Param/Value/B70020E2=Vivaio zerg
+Param/Value/BDB3A6F7=Arrivo rinforzi zerg
+Param/Value/CC281FAF=Nova è morta.
+Param/Value/CCD25EF0=Vivaio zerg
+Param/Value/D36A4D25=Tutte le tue strutture sono state distrutte.
+Param/Value/D57A7D19=Punto d'inizio
+Param/Value/D8D4EE22=Ah! I Tal'darim non sono nulla davanti ai Difensori dell'Umanità!
+Param/Value/E562DA89=Vivai distrutti prima dell'arrivo dei protoss
+Param/Value/F261D56F=Faro della flotta Tal'darim
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/itit.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..883649e36a
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=항공기 기술을 연구합니다. 기술실은 모든 생산 건물에 부착할 수 있습니다.사용 가능:- 밴시 /// Aircraft-research structure. A Tech Lab can fit onto any production structure.Enables:- Banshees
+Button/Tooltip/Factory=차량 생산 시설입니다. 사용 가능:- 화염 기갑병- 골리앗 /// Vehicle-production facility. Enables:- Hellbats- Goliaths
+Button/Tooltip/Starport=공중 유닛 생산 시설입니다. /// Air-unit production facility.
+Button/Tooltip/TechLabStarport=항공기 기술을 연구합니다. 기술실은 모든 생산 건물에 부착할 수 있습니다.사용 가능:- 밴시 /// Aircraft-research structure. A Tech Lab can fit onto any production structure.Enables:- Banshees
+DocInfo/Name=위기의 낙원 /// Trouble In Paradise
+MapInfo/Player00/Name=중립 /// Neutral
+MapInfo/Player01/Name=노바 /// Nova
+MapInfo/Player02/Name=라이글 /// Reigel
+MapInfo/Player03/Name=민간인 /// Civilians
+MapInfo/Player04/Name=인류의 수호자 /// Defenders of Man
+MapInfo/Player05/Name=탈다림 /// Tal'darim
+MapInfo/Player06/Name=저그 /// Zerg
+MapInfo/Player07/Name=저그 /// Zerg
+MapInfo/Player08/Name=적대 /// Hostile
+Param/Expression/67FD2964=~A~% /// ~A~%
+Param/Value/02CD3B19=잃은 인류의 수호자 구조물 /// Defender of Man Structures Lost
+Param/Value/08FE18CB=저그 지원군 도착 /// Zerg Reinforcements Arrive
+Param/Value/146AAE02=탈다림 모선 /// Tal'darim Mothership
+Param/Value/2504EF5B=저그 지원군 도착 /// Zerg Reinforcements Arrive
+Param/Value/2A1CDFAA=탈다림 보호막 투사기 /// Tal'darim Shield Projector
+Param/Value/2B6A0A26=모선 충전 완료 /// Mothership Fully Charged
+Param/Value/30B05E06=포자 촉수 /// Spore Crawler
+Param/Value/54A5AD1C=5일
+Param/Value/56837E28=모선 충전 /// Mothership Charging
+Param/Value/5692570D=보호막 투사기 /// Shield Projector
+Param/Value/5899B4DE=저그 부화장 /// Zerg Hatchery
+Param/Value/5B86E833=라이글 /// Reigel
+Param/Value/5BA7A1C6=해냈습니다! 모선이 후퇴하고 있습니다. 모두 잘했습니다.
+Param/Value/5C08D7B5=화염차 (26 처치)
+Param/Value/5D2C3943=탈다림 공격 병력 /// Tal'darim Assault Force
+Param/Value/5D5D72D7=0% /// 0%
+Param/Value/650B36D9=민간인 대피소가 파괴되었습니다. /// Civilian shelter destroyed.
+Param/Value/792ACB64=시작 장소 /// Start Location
+Param/Value/7B2F6D29=잘했습니다.
+Param/Value/83D1B83B=라이글 /// Reigel
+Param/Value/843F51EC=라이글 /// Reigel
+Param/Value/84E0145A=라이글 /// Reigel
+Param/Value/885F8858=명령을 수행합니다.
+Param/Value/8A33EA74=적의 부화장을 멋지게 제거했습니다. 저그의 머릿수가 상당히 줄어들 것입니다.
+Param/Value/8CE3EA4E=노바, 모선이 거의 온전히 충전되었습니다. 보호막 생성기 사거리 내로 이동하는 게 좋을 것 같습니다.
+Param/Value/9009B984=하, 누워서 떡 먹기군.
+Param/Value/912B1D8D=지나라 /// Jinara
+Param/Value/96B54E5E=좋았어, 이번 내기에서는 기쁘게 질 수 있겠어.
+Param/Value/96FC5AD1=노바 /// Nova
+Param/Value/9A19693B=가동 중 /// ACTIVE
+Param/Value/A1167427=라이글 /// Reigel
+Param/Value/A60A56DA=라이글 /// Reigel
+Param/Value/AA832D8E=모선 충전 /// Mothership Charging
+Param/Value/AB4A1CDE=라이글 /// Reigel
+Param/Value/AB7717F7=라이글 /// Reigel
+Param/Value/B4438EEA=좋았어! 놈들이 다시 후퇴한다!
+Param/Value/B6652F79=탈다림 함대 신호소 /// Tal'darim Fleet Beacon
+Param/Value/B70020E2=저그 부화장 /// Zerg Hatchery
+Param/Value/BDB3A6F7=저그 지원군 도착 /// Zerg Reinforcements Arrive
+Param/Value/CC281FAF=노바가 사망했습니다. /// Nova has died.
+Param/Value/CCD25EF0=저그 부화장 /// Zerg Hatchery
+Param/Value/D36A4D25=구조물이 모두 파괴되었습니다. /// All of your structures have been destroyed.
+Param/Value/D57A7D19=침투 지점 /// Insertion Point
+Param/Value/D8D4EE22=하! 탈다림은 인류의 수호자의 적수가 못 된다!
+Param/Value/E562DA89=프로토스가 도착하기 전까지 파괴한 부화장 /// Hatcheries Destroyed Before Protoss Arrival
+Param/Value/F261D56F=탈다림 함대 신호소 /// Tal'darim Fleet Beacon
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/kokr.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..4b407af5ad
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Dobudówka umożliwiająca ulepszanie jednostek latających. Laboratorium technologiczne można dołączyć do dowolnego budynku produkcyjnego.Udostępnia:– banshee.
+Button/Tooltip/Factory=Zakład produkujący pojazdy. Udostępnia:– helbaty,– goliaty.
+Button/Tooltip/Starport=Zakład produkujący jednostki powietrzne.
+Button/Tooltip/TechLabStarport=Dobudówka umożliwiająca ulepszanie jednostek latających. Laboratorium technologiczne można dołączyć do dowolnego budynku produkcyjnego.Udostępnia:– banshee.
+DocInfo/Name=Kłopoty w raju
+MapInfo/Player00/Name=Neutralny
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Cywile
+MapInfo/Player04/Name=Obrońcy Ludzkości
+MapInfo/Player05/Name=Tal'darimowie
+MapInfo/Player06/Name=Zergi
+MapInfo/Player07/Name=Zergi
+MapInfo/Player08/Name=Wróg
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Utracone budowle Obrońców Ludzkości
+Param/Value/08FE18CB=Przybycie wsparcia zergów
+Param/Value/146AAE02=Statek-matka tal'darimów
+Param/Value/2504EF5B=Przybycie wsparcia zergów
+Param/Value/2A1CDFAA=Generator osłon tal'darimów
+Param/Value/2B6A0A26=Pełna moc osłon statku-matki
+Param/Value/30B05E06=Pełzacz zarodnikowy
+Param/Value/54A5AD1C=5 dni
+Param/Value/56837E28=Ładowanie osłon statku-matki
+Param/Value/5692570D=Generator osłon
+Param/Value/5899B4DE=Wylęgarnia zergów
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=Udało się! Statek-matka się wycofuje. Dobra robota.
+Param/Value/5C08D7B5=Helion (26 zabitych)
+Param/Value/5D2C3943=Siły szturmowe tal'darimów
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Schron cywilny został zniszczony.
+Param/Value/792ACB64=Lokalizacja początkowa
+Param/Value/7B2F6D29=Dobra robota.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=Ty tu rządzisz.
+Param/Value/8A33EA74=Wykonałaś kawał dobrej roboty. Po zniszczeniu wylęgarni zergów, ich liczba znacznie spadnie.
+Param/Value/8CE3EA4E=Nova, statek-matka już prawie naładował osłony. Powinnaś ustawić się w zasięgu strzału od generatora osłony (wariant 5)
+Param/Value/9009B984=Ha, łatwizna.
+Param/Value/912B1D8D=Jinara
+Param/Value/96B54E5E=Tak trzymaj, ten zakład przegram z radością.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=OSŁONA AKTYWNA
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Ładowanie osłon statku-matki
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=O tak! Znowu uciekają!
+Param/Value/B6652F79=Stacja nawigacyjna floty tal'darimów
+Param/Value/B70020E2=Wylęgarnia zergów
+Param/Value/BDB3A6F7=Przybycie wsparcia zergów
+Param/Value/CC281FAF=Nova zginęła.
+Param/Value/CCD25EF0=Wylęgarnia zergów
+Param/Value/D36A4D25=Wszystkie twoje budowle zostały zniszczone.
+Param/Value/D57A7D19=Punkt infiltracji
+Param/Value/D8D4EE22=Ha! Tal'darimowie nie mogą mierzyć się z Obrońcami Ludzkości!
+Param/Value/E562DA89=Wylęgarnie zniszczone przed przybyciem protosów
+Param/Value/F261D56F=Stacja nawigacyjna floty tal'darimów
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/plpl.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..27e2cd1f67
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Estrutura de pesquisa aeroespacial. O Laboratório Técnico pode ser anexado a qualquer estrutura de produção.Ativa:- Vudus
+Button/Tooltip/Factory=Instalação de produção veicular. Ativa:- Morcegos Infernais- Golias
+Button/Tooltip/Starport=Instalação de produção de unidades aéreas.
+Button/Tooltip/TechLabStarport=Estrutura de pesquisa aeroespacial. O Laboratório Técnico pode ser anexado a qualquer estrutura de produção.Ativa:- Vudus
+DocInfo/Name=Problemas no Paraíso
+MapInfo/Player00/Name=Neutro
+MapInfo/Player01/Name=Nova
+MapInfo/Player02/Name=Reigel
+MapInfo/Player03/Name=Civis
+MapInfo/Player04/Name=Defensores do Homem
+MapInfo/Player05/Name=Tal'darim
+MapInfo/Player06/Name=Zerg
+MapInfo/Player07/Name=Zerg
+MapInfo/Player08/Name=Inimigo
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Estruturas dos Defensores do Homem perdidas
+Param/Value/08FE18CB=Chegada dos reforços zergs
+Param/Value/146AAE02=Nave-mãe Tal'darim
+Param/Value/2504EF5B=Chegada dos reforços zergs
+Param/Value/2A1CDFAA=Projetor de Escudo Tal'darim
+Param/Value/2B6A0A26=Nave-mãe totalmente carregada
+Param/Value/30B05E06=Lagarta de Esporos
+Param/Value/54A5AD1C=5 dias
+Param/Value/56837E28=Nave-mãe em carregamento
+Param/Value/5692570D=Projetor de Escudo
+Param/Value/5899B4DE=Incubadora Zerg
+Param/Value/5B86E833=Reigel
+Param/Value/5BA7A1C6=Conseguimos! A nave-mãe está recuando. Bom trabalho, pessoal.
+Param/Value/5C08D7B5=Endiabrado (26 abates)
+Param/Value/5D2C3943=Força de Ataque Tal'darim
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Abrigo de civis destruído.
+Param/Value/792ACB64=Localização inicial
+Param/Value/7B2F6D29=Muito bem.
+Param/Value/83D1B83B=Reigel
+Param/Value/843F51EC=Reigel
+Param/Value/84E0145A=Reigel
+Param/Value/885F8858=Na escuta.
+Param/Value/8A33EA74=Ótimo trabalho destruindo as incubadoras. Os números deles serão reduzidos substancialmente.
+Param/Value/8CE3EA4E=Nova, a nave-mãe está quase carregada. Talvez seja uma boa ideia você se posicionar a uma distância de ataque de um gerador de escudo. (variação 5)
+Param/Value/9009B984=Hah, grana fácil.
+Param/Value/912B1D8D=Jinara
+Param/Value/96B54E5E=Continue assim, vou ficar feliz se perder essa aposta.
+Param/Value/96FC5AD1=Nova
+Param/Value/9A19693B=ATIVO
+Param/Value/A1167427=Reigel
+Param/Value/A60A56DA=Reigel
+Param/Value/AA832D8E=Nave-mãe em carregamento
+Param/Value/AB4A1CDE=Reigel
+Param/Value/AB7717F7=Reigel
+Param/Value/B4438EEA=Isso, droga! Eles estão recuando de novo!
+Param/Value/B6652F79=Laboratório Avançado Tal'darim
+Param/Value/B70020E2=Incubadora Zerg
+Param/Value/BDB3A6F7=Chegada dos reforços zergs
+Param/Value/CC281FAF=Nova morreu.
+Param/Value/CCD25EF0=Incubadora Zerg
+Param/Value/D36A4D25=Todas as suas estruturas foram destruídas.
+Param/Value/D57A7D19=Ponto de Inserção
+Param/Value/D8D4EE22=Hah! Os tal'darim não são páreo para os defensores do homem!
+Param/Value/E562DA89=Incubadoras destruídas antes da chegada dos protoss
+Param/Value/F261D56F=Laboratório Avançado Tal'darim
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ptbr.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..58c00ad1ea
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=Позволяет разрабатывать улучшения для воздушной техники. Построенную лабораторию можно состыковать с любым производственным строением.Открывает возможности:– производство «Банши»
+Button/Tooltip/Factory=Завод по производству бронетехники. Открывает возможности:– производство «Геллитронов»– производство «Голиафов»
+Button/Tooltip/Starport=Авиационный завод.
+Button/Tooltip/TechLabStarport=Позволяет разрабатывать улучшения для воздушной техники. Построенную лабораторию можно состыковать с любым производственным строением.Открывает возможности:– производство «Банши»
+DocInfo/Name=Ад в раю
+MapInfo/Player00/Name=Нейтральный
+MapInfo/Player01/Name=Нова
+MapInfo/Player02/Name=Райгель
+MapInfo/Player03/Name=Мирные жители
+MapInfo/Player04/Name=«Защитники человечества»
+MapInfo/Player05/Name=Талдаримы
+MapInfo/Player06/Name=Зерги
+MapInfo/Player07/Name=Зерги
+MapInfo/Player08/Name=Враг
+Param/Expression/67FD2964=~A~%
+Param/Value/02CD3B19=Потеряно строений «Защитников человечества»
+Param/Value/08FE18CB=Подкрепление зергов прибыло
+Param/Value/146AAE02=Материнский корабль талдаримов
+Param/Value/2504EF5B=Подкрепление зергов прибыло
+Param/Value/2A1CDFAA=Талдаримский проектор щитов
+Param/Value/2B6A0A26=Щиты материнского корабля заряжены
+Param/Value/30B05E06=Ползучий споровик
+Param/Value/54A5AD1C=5 дней
+Param/Value/56837E28=Щиты материнского корабля заряжаются
+Param/Value/5692570D=Проектор щитов
+Param/Value/5899B4DE=Инкубатор зергов
+Param/Value/5B86E833=Райгель
+Param/Value/5BA7A1C6=Мы справились! Материнский корабль отступает. Отличная работа!
+Param/Value/5C08D7B5=«Геллион» (26 убийств)
+Param/Value/5D2C3943=Штурмовой отряд талдаримов
+Param/Value/5D5D72D7=0%
+Param/Value/650B36D9=Убежище мирных жителей разрушено.
+Param/Value/792ACB64=Стартовая позиция
+Param/Value/7B2F6D29=Отлично.
+Param/Value/83D1B83B=Райгель
+Param/Value/843F51EC=Райгель
+Param/Value/84E0145A=Райгель
+Param/Value/885F8858=Как скажешь.
+Param/Value/8A33EA74=Ты неплохо разобралась с инкубаторами. Их стало намного меньше.
+Param/Value/8CE3EA4E=Нова, материнский корабль почти полностью заряжен. Тебе нужно подобраться к генератору щита. (вариант 5)
+Param/Value/9009B984=Будет сделано.
+Param/Value/912B1D8D=Джи-нара
+Param/Value/96B54E5E=Продолжай в том же духе. Я с радостью проиграю это пари.
+Param/Value/96FC5AD1=Нова
+Param/Value/9A19693B=КОРАБЛЬ АТАКУЕТ
+Param/Value/A1167427=Райгель
+Param/Value/A60A56DA=Райгель
+Param/Value/AA832D8E=Щиты материнского корабля заряжаются
+Param/Value/AB4A1CDE=Райгель
+Param/Value/AB7717F7=Райгель
+Param/Value/B4438EEA=Да, детка! Они снова отступают!
+Param/Value/B6652F79=Маяк флотилии талдаримов
+Param/Value/B70020E2=Инкубатор зергов
+Param/Value/BDB3A6F7=Подкрепление зергов прибывает через
+Param/Value/CC281FAF=Нова погибла.
+Param/Value/CCD25EF0=Инкубатор зергов
+Param/Value/D36A4D25=Все ваши строения уничтожены.
+Param/Value/D57A7D19=Точка входа
+Param/Value/D8D4EE22=Ха! Талдаримы «Защитникам» не ровня!
+Param/Value/E562DA89=Уничтожено инкубаторов до прибытия протоссов
+Param/Value/F261D56F=Маяк флотилии талдаримов
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/ruru.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..1eb79c4b8f
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=空中单位研发建筑。科技实验室可以同任何生产建筑相组合。开启:- 女妖 /// Aircraft-research structure. A Tech Lab can fit onto any production structure.Enables:- Banshees
+Button/Tooltip/Factory=战车生产设施。开启:- 恶蝠- 歌利亚武装机器人 /// Vehicle-production facility. Enables:- Hellbats- Goliaths
+Button/Tooltip/Starport=空中单位生产设施。 /// Air-unit production facility.
+Button/Tooltip/TechLabStarport=空中单位研发建筑。科技实验室可以同任何生产建筑相组合。开启:- 女妖 /// Aircraft-research structure. A Tech Lab can fit onto any production structure.Enables:- Banshees
+DocInfo/Name=乐园危机 /// Trouble In Paradise
+MapInfo/Player00/Name=中立
+MapInfo/Player01/Name=诺娃 /// Nova
+MapInfo/Player02/Name=雷格尔 /// Reigel
+MapInfo/Player03/Name=平民 /// Civilians
+MapInfo/Player04/Name=人类保卫者 /// Defenders of Man
+MapInfo/Player05/Name=塔达林 /// Tal'darim
+MapInfo/Player06/Name=异虫 /// Zerg
+MapInfo/Player07/Name=异虫 /// Zerg
+MapInfo/Player08/Name=敌对
+Param/Expression/67FD2964=~A~% /// ~A~%
+Param/Value/02CD3B19=人类保卫者损失建筑 /// Defender of Man Structures Lost
+Param/Value/08FE18CB=异虫增援抵达 /// Zerg Reinforcements Arrive
+Param/Value/146AAE02=塔达林母舰 /// Tal'darim Mothership
+Param/Value/2504EF5B=异虫增援抵达 /// Zerg Reinforcements Arrive
+Param/Value/2A1CDFAA=塔达林护盾投射器 /// Tal'darim Shield Projector
+Param/Value/2B6A0A26=母舰完全充能 /// Mothership Fully Charged
+Param/Value/30B05E06=孢子爬虫 /// Spore Crawler
+Param/Value/54A5AD1C=5天
+Param/Value/56837E28=母舰充能中 /// Mothership Charging
+Param/Value/5692570D=护盾投射器 /// Shield Projector
+Param/Value/5899B4DE=异虫孵化场 /// Zerg Hatchery
+Param/Value/5B86E833=雷格尔 /// Reigel
+Param/Value/5BA7A1C6=我们做到了!母舰正在撤退,打得漂亮,各位。 /// We did it! The mothership is falling back, good work everyone.
+Param/Value/5C08D7B5=恶火(26击杀)
+Param/Value/5D2C3943=塔达林进攻部队 /// Tal'darim Assault Force
+Param/Value/5D5D72D7=0% /// 0%
+Param/Value/650B36D9=平民掩体被摧毁。 /// Civilian shelter destroyed.
+Param/Value/792ACB64=出生位置 /// Start Location
+Param/Value/7B2F6D29=很好。 /// Well done.
+Param/Value/83D1B83B=雷格尔 /// Reigel
+Param/Value/843F51EC=雷格尔 /// Reigel
+Param/Value/84E0145A=雷格尔 /// Reigel
+Param/Value/885F8858=同意。 /// You're on.
+Param/Value/8A33EA74=你干掉了不少的孵化场,它们的出兵数量将大幅减少。 /// You did a great job killing their hatcheries, their numbers will be substantially reduced.
+Param/Value/8CE3EA4E=诺娃,母舰马上就要充能完毕了。你最好进入一处护盾发生器的攻击位置。 /// Nova, the mothership almost fully charged. You may wish to position yourself within striking distance of a shield generator. (variation 5)
+Param/Value/9009B984=哈,这钱来得真容易。 /// Hah, easy money.
+Param/Value/912B1D8D=吉娜拉 /// Jinara
+Param/Value/96B54E5E=保持下去,这是一场我乐意输的赌注。
+Param/Value/96FC5AD1=诺娃 /// Nova
+Param/Value/9A19693B=激活 /// ACTIVE
+Param/Value/A1167427=雷格尔 /// Reigel
+Param/Value/A60A56DA=雷格尔 /// Reigel
+Param/Value/AA832D8E=母舰充能中 /// Mothership Charging
+Param/Value/AB4A1CDE=雷格尔 /// Reigel
+Param/Value/AB7717F7=雷格尔 /// Reigel
+Param/Value/B4438EEA=太好了!他们又要撤退了! /// Hell yea! They are retreating again!
+Param/Value/B6652F79=塔达林舰队航标 /// Tal'darim Fleet Beacon
+Param/Value/B70020E2=异虫孵化场 /// Zerg Hatchery
+Param/Value/BDB3A6F7=异虫增援抵达 /// Zerg Reinforcements Arrive
+Param/Value/CC281FAF=诺娃死了。 /// Nova has died.
+Param/Value/CCD25EF0=异虫孵化场 /// Zerg Hatchery
+Param/Value/D36A4D25=你所有的建筑物都被摧毁了。 /// All of your structures have been destroyed.
+Param/Value/D57A7D19=插入点 /// Insertion Point
+Param/Value/D8D4EE22=哈!塔达林根本不是人类保卫者的对手! /// Hah! The tal'darim are no match for the defenders of man!
+Param/Value/E562DA89=星灵抵达前摧毁的孵化场 /// Hatcheries Destroyed Before Protoss Arrival
+Param/Value/F261D56F=塔达林舰队航标 /// Tal'darim Fleet Beacon
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhcn.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
new file mode 100644
index 0000000000..9265a095a7
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/GameStrings.txt
@@ -0,0 +1,61 @@
+Button/Tooltip/BuildTechLabStarport=研發飛行科技的建築。科技實驗室適用於任何生產類建築。功能:- 讓星際港可建造女妖轟炸機 /// Aircraft-research structure. A Tech Lab can fit onto any production structure.Enables:- Banshees
+Button/Tooltip/Factory=載具生產設施。功能:- 可建造戰狼- 可建造巨人 /// Vehicle-production facility. Enables:- Hellbats- Goliaths
+Button/Tooltip/Starport=空中單位生產設施。 /// Air-unit production facility.
+Button/Tooltip/TechLabStarport=研發飛行科技的建築。科技實驗室適用於任何生產類建築。功能:- 讓星際港可建造女妖轟炸機 /// Aircraft-research structure. A Tech Lab can fit onto any production structure.Enables:- Banshees
+DocInfo/Name=樂園淪陷 /// Trouble In Paradise
+MapInfo/Player00/Name=中立 /// Neutral
+MapInfo/Player01/Name=諾娃 /// Nova
+MapInfo/Player02/Name=萊葛 /// Reigel
+MapInfo/Player03/Name=平民 /// Civilians
+MapInfo/Player04/Name=人類守護組織 /// Defenders of Man
+MapInfo/Player05/Name=塔達力姆 /// Tal'darim
+MapInfo/Player06/Name=蟲族 /// Zerg
+MapInfo/Player07/Name=蟲族 /// Zerg
+MapInfo/Player08/Name=敵對 /// Hostile
+Param/Expression/67FD2964=~A~% /// ~A~%
+Param/Value/02CD3B19=人類守護組織損失的建築 /// Defender of Man Structures Lost
+Param/Value/08FE18CB=蟲族增援抵達 /// Zerg Reinforcements Arrive
+Param/Value/146AAE02=塔達力姆聖母艦 /// Tal'darim Mothership
+Param/Value/2504EF5B=蟲族援軍抵達 /// Zerg Reinforcements Arrive
+Param/Value/2A1CDFAA=塔達力姆護盾投射器 /// Tal'darim Shield Projector
+Param/Value/2B6A0A26=聖母艦充能完畢 /// Mothership Fully Charged
+Param/Value/30B05E06=孢子爬行蟲 /// Spore Crawler
+Param/Value/54A5AD1C=5天
+Param/Value/56837E28=聖母艦充能中 /// Mothership Charging
+Param/Value/5692570D=護盾投射器 /// Shield Projector
+Param/Value/5899B4DE=蟲族孵化所 /// Zerg Hatchery
+Param/Value/5B86E833=萊葛 /// Reigel
+Param/Value/5BA7A1C6=我們成功了!聖母艦撤退了,大家做得好。
+Param/Value/5C08D7B5=惡狼(26次擊殺)
+Param/Value/5D2C3943=塔達力姆突擊部隊 /// Tal'darim Assault Force
+Param/Value/5D5D72D7=0% /// 0%
+Param/Value/650B36D9=平民避難所被毀了。 /// Civilian shelter destroyed.
+Param/Value/792ACB64=起始地點 /// Start Location
+Param/Value/7B2F6D29=做得好。
+Param/Value/83D1B83B=萊葛 /// Reigel
+Param/Value/843F51EC=萊葛 /// Reigel
+Param/Value/84E0145A=萊葛 /// Reigel
+Param/Value/885F8858=該你出馬了。
+Param/Value/8A33EA74=你摧毀了牠們的孵化所,做得非常好。這樣能大幅降低牠們的數量。
+Param/Value/8CE3EA4E=諾娃,這艘聖母艦快要充能完畢。建議你進入方便攻擊護盾生成器的範圍。(變量5)
+Param/Value/9009B984=哈,太好賺了。
+Param/Value/912B1D8D=吉娜拉 /// Jinara
+Param/Value/96B54E5E=繼續下去,相信這會是我很樂意輸的一場賭注。
+Param/Value/96FC5AD1=諾娃 /// Nova
+Param/Value/9A19693B=已出動 /// ACTIVE
+Param/Value/A1167427=萊葛 /// Reigel
+Param/Value/A60A56DA=萊葛 /// Reigel
+Param/Value/AA832D8E=聖母艦充能中 /// Mothership Charging
+Param/Value/AB4A1CDE=萊葛 /// Reigel
+Param/Value/AB7717F7=萊葛 /// Reigel
+Param/Value/B4438EEA=太好了!他們再度撤退了!
+Param/Value/B6652F79=塔達力姆艦隊導航台 /// Tal'darim Fleet Beacon
+Param/Value/B70020E2=蟲族孵化所 /// Zerg Hatchery
+Param/Value/BDB3A6F7=蟲族援軍抵達 /// Zerg Reinforcements Arrive
+Param/Value/CC281FAF=諾娃陣亡了。 /// Nova has died.
+Param/Value/CCD25EF0=蟲族孵化所 /// Zerg Hatchery
+Param/Value/D36A4D25=你所有的建築已被摧毀。 /// All of your structures have been destroyed.
+Param/Value/D57A7D19=接敵地點 /// Insertion Point
+Param/Value/D8D4EE22=哈!塔達力姆根本不是人類守護組織的對手!
+Param/Value/E562DA89=在神族抵達前所摧毀的孵化所 /// Hatcheries Destroyed Before Protoss Arrival
+Param/Value/F261D56F=塔達力姆艦隊導航台 /// Tal'darim Fleet Beacon
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/ObjectStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/ObjectStrings.txt
new file mode 100644
index 0000000000..57ec9ae536
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/ObjectStrings.txt
@@ -0,0 +1,5 @@
+AI/Name/285EA2B0=Zerg ///Auto - Copied from enUS Locale
+AI/Name/BFD4C32A=Death Fleet ///Auto - Copied from enUS Locale
+AI/Name/CCC21B06=Tal'darim ///Auto - Copied from enUS Locale
+Light/Name/EditorTestLight=Default ///Auto - Copied from enUS Locale
+Water/Name/Shakuras2=Elsecaro ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/TriggerStrings.txt b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/TriggerStrings.txt
new file mode 100644
index 0000000000..17116ae2e2
--- /dev/null
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova04.sc2map/zhtw.sc2data/LocalizedData/TriggerStrings.txt
@@ -0,0 +1,368 @@
+Category/Name/141BD6E8=Main Objective - Destroy Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/176F892C=Intro Cinematic ///Auto - Copied from enUS Locale
+Category/Name/197BDA08=Achievement ///Auto - Copied from enUS Locale
+Category/Name/23C91007=Stage2 ///Auto - Copied from enUS Locale
+Category/Name/25AA0166======== MAIN ======= ///Auto - Copied from enUS Locale
+Category/Name/2AAE7D75=Scripted Events ///Auto - Copied from enUS Locale
+Category/Name/2E5EF659=Main Objective - Destroy Tal'darim Mothership ///Auto - Copied from enUS Locale
+Category/Name/363C97D1=Tips ///Auto - Copied from enUS Locale
+Category/Name/3828F192=Bonus Objective - Destroy Remaining Zerg Hatcheries ///Auto - Copied from enUS Locale
+Category/Name/3A78BD4C=Briefing Cinematic ///Auto - Copied from enUS Locale
+Category/Name/3F57BE0D=Generic Functions ///Auto - Copied from enUS Locale
+Category/Name/442B7373=Protoss Things ///Auto - Copied from enUS Locale
+Category/Name/4C6B9824=Cinematic Variables ///Auto - Copied from enUS Locale
+Category/Name/50F98348=Midgame Cinematic ///Auto - Copied from enUS Locale
+Category/Name/55C9B306=AI ///Auto - Copied from enUS Locale
+Category/Name/5795EA92=Variables ///Auto - Copied from enUS Locale
+Category/Name/58DFDA66======== GAMEPLAY ======= ///Auto - Copied from enUS Locale
+Category/Name/593B21B0=Main Objective - Destroy Shield Projectors ///Auto - Copied from enUS Locale
+Category/Name/5BFEE96E=Victory Cinematic ///Auto - Copied from enUS Locale
+Category/Name/63245DF8=DOM Things ///Auto - Copied from enUS Locale
+Category/Name/642E1394=Main Objective - Civilian Center Must Survive ///Auto - Copied from enUS Locale
+Category/Name/696BD00F=Campaign Mission ///Auto - Copied from enUS Locale
+Category/Name/7CFA5254=Victory/Defeat ///Auto - Copied from enUS Locale
+Category/Name/839A03FF=Difficulty Tuning Variables ///Auto - Copied from enUS Locale
+Category/Name/83CF3FA2=Debug ///Auto - Copied from enUS Locale
+Category/Name/98350AAC=Initialization ///Auto - Copied from enUS Locale
+Category/Name/989A5CB4=Stage1 ///Auto - Copied from enUS Locale
+Category/Name/A2806ED5=Starting Sequence ///Auto - Copied from enUS Locale
+Category/Name/AA40E7B6=Bonus Objective - Destroy Fleet Beacon ///Auto - Copied from enUS Locale
+Category/Name/B7F5C13F=Main Objective - Nova Must Survive ///Auto - Copied from enUS Locale
+Category/Name/B8697EA6=Retaliation Waves ///Auto - Copied from enUS Locale
+Category/Name/BA4D924E=Zerg Things ///Auto - Copied from enUS Locale
+Category/Name/E2E6474D======== OBJECTIVES ======= ///Auto - Copied from enUS Locale
+Category/Name/F5F92FC8=Global Variables ///Auto - Copied from enUS Locale
+Category/Name/FF8869FC======== CINEMATIC ======= ///Auto - Copied from enUS Locale
+FunctionDef/Name/15B585AC=TaldarimDeathBeamBurninator ///Auto - Copied from enUS Locale
+FunctionDef/Name/1EBCCCF2=Banshee Formation ///Auto - Copied from enUS Locale
+FunctionDef/Name/1FAC6172=SiegeAfterUnload ///Auto - Copied from enUS Locale
+FunctionDef/Name/341162B3=zzOLD - SendZergAttackWave ///Auto - Copied from enUS Locale
+FunctionDef/Name/371D36D4=EvacuateCivilians ///Auto - Copied from enUS Locale
+FunctionDef/Name/5028A2EC=AI - SporeCrawler ///Auto - Copied from enUS Locale
+FunctionDef/Name/65832CCD=Order Civilians to Run ///Auto - Copied from enUS Locale
+FunctionDef/Name/69CC1D8F=WarpPrismController ///Auto - Copied from enUS Locale
+FunctionDef/Name/8881F750=PingUnitGroup ///Auto - Copied from enUS Locale
+FunctionDef/Name/8ED8B44A=SpawnRetaliationUnits ///Auto - Copied from enUS Locale
+FunctionDef/Name/A2E850B0=AI - Oracle ///Auto - Copied from enUS Locale
+FunctionDef/Name/CFCEEBDE=Go To Point and Despawn ///Auto - Copied from enUS Locale
+FunctionDef/Name/D40CB594=Follow Transport While Loaded ///Auto - Copied from enUS Locale
+FunctionDef/Name/D76031E3=Overseer Patrol ///Auto - Copied from enUS Locale
+FunctionDef/Name/D833AF26=Zerg Expansion ///Auto - Copied from enUS Locale
+FunctionDef/Name/D9CDD83C=Add Zerg Units To Attack Wave ///Auto - Copied from enUS Locale
+FunctionDef/Name/E7738FF3=UnitIsArmyUnit ///Auto - Copied from enUS Locale
+FunctionDef/Name/EBCF4128=AI - Ravager ///Auto - Copied from enUS Locale
+FunctionDef/Name/F33427F3=Spore Crawler Ping Tracker ///Auto - Copied from enUS Locale
+ParamDef/Name/01C5C0CF=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/06208352=UnitType ///Auto - Copied from enUS Locale
+ParamDef/Name/0C90400B=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/0C91DD2A=zerglingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0E76A528=roachCount ///Auto - Copied from enUS Locale
+ParamDef/Name/0F52C793=EvacShip ///Auto - Copied from enUS Locale
+ParamDef/Name/0FFDFF01=colossusCount ///Auto - Copied from enUS Locale
+ParamDef/Name/16EEF883=WarpPrism ///Auto - Copied from enUS Locale
+ParamDef/Name/1A50B8F4=SpawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/1D13C318=unitGroup ///Auto - Copied from enUS Locale
+ParamDef/Name/2736E215=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/2EED82D9=Oracle ///Auto - Copied from enUS Locale
+ParamDef/Name/3B5E20D8=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/40CD4E84=PatrolIndexCount ///Auto - Copied from enUS Locale
+ParamDef/Name/41131041=voidRayCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4528F501=oracleCount ///Auto - Copied from enUS Locale
+ParamDef/Name/46DEDB1F=zealotCount ///Auto - Copied from enUS Locale
+ParamDef/Name/4DBEF79C=mutaliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/54E591F5=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/65FE9E92=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/6A9F23D2=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/7061A335=banelingCount ///Auto - Copied from enUS Locale
+ParamDef/Name/70CD053B=spawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/72265DA5=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/7416A245=hydraCount ///Auto - Copied from enUS Locale
+ParamDef/Name/77BEA143=tank ///Auto - Copied from enUS Locale
+ParamDef/Name/7AC7F6B4=scoutCount ///Auto - Copied from enUS Locale
+ParamDef/Name/87D55A78=Distance ///Auto - Copied from enUS Locale
+ParamDef/Name/8A78A53A=SporeCrawler ///Auto - Copied from enUS Locale
+ParamDef/Name/8ACE815F=Unit ///Auto - Copied from enUS Locale
+ParamDef/Name/8DE991A7=stalkerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9BB89EB5=tempestCount ///Auto - Copied from enUS Locale
+ParamDef/Name/9E6A6F69=DespawnPoint ///Auto - Copied from enUS Locale
+ParamDef/Name/A1D4BE3F=phoenixCount ///Auto - Copied from enUS Locale
+ParamDef/Name/A3CA23DA=Civilian ///Auto - Copied from enUS Locale
+ParamDef/Name/A54992C2=broodlordCount ///Auto - Copied from enUS Locale
+ParamDef/Name/AA77F02D=EscourtTarget ///Auto - Copied from enUS Locale
+ParamDef/Name/AC5AE908=NearbyUnits ///Auto - Copied from enUS Locale
+ParamDef/Name/B4206D26=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/B74E64F5=warpPrismCount ///Auto - Copied from enUS Locale
+ParamDef/Name/C2F3AB5A=infestorCount ///Auto - Copied from enUS Locale
+ParamDef/Name/CA9AFE57=Angle ///Auto - Copied from enUS Locale
+ParamDef/Name/D50BCE8E=expansionRegion ///Auto - Copied from enUS Locale
+ParamDef/Name/D6561B4E=Owner ///Auto - Copied from enUS Locale
+ParamDef/Name/D87C17A9=Ravager ///Auto - Copied from enUS Locale
+ParamDef/Name/DB5C7693=ultraliskCount ///Auto - Copied from enUS Locale
+ParamDef/Name/DBA59684=ravagerCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F1487F7D=PatrolPointName ///Auto - Copied from enUS Locale
+ParamDef/Name/F3DB0EC3=carrierCount ///Auto - Copied from enUS Locale
+ParamDef/Name/F6196883=Count ///Auto - Copied from enUS Locale
+ParamDef/Name/FA9EC80E=immortalCount ///Auto - Copied from enUS Locale
+Preset/Name/37A2D64C=Zerg Wave Unit Types ///Auto - Copied from enUS Locale
+PresetValue/Name/474D5C72=Ravager ///Auto - Copied from enUS Locale
+PresetValue/Name/5A8DCD90=Brood Lord ///Auto - Copied from enUS Locale
+PresetValue/Name/75E495B9=Infestor ///Auto - Copied from enUS Locale
+PresetValue/Name/790296E0=Zergling ///Auto - Copied from enUS Locale
+PresetValue/Name/A91B0CD7=Roach ///Auto - Copied from enUS Locale
+PresetValue/Name/B65BF999=Mutalisk ///Auto - Copied from enUS Locale
+PresetValue/Name/BD74ACB8=Hydralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/CE6F4508=Baneling ///Auto - Copied from enUS Locale
+PresetValue/Name/E6D08D51=Ultralisk ///Auto - Copied from enUS Locale
+PresetValue/Name/FC556AC7=nothing ///Auto - Copied from enUS Locale
+Trigger/Name/02C23BE1=Objective Destroy Fleet Beacon Failed ///Auto - Copied from enUS Locale
+Trigger/Name/04C98280=Mothership Charged Count Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/051300BA=Init 06 Difficulties ///Auto - Copied from enUS Locale
+Trigger/Name/091EFF3B=Objective Destroy Shield Projectors Create ///Auto - Copied from enUS Locale
+Trigger/Name/0A80C806=Objective Destroy Remaining Zerg Hatcheries Update ///Auto - Copied from enUS Locale
+Trigger/Name/0D216529=Zerg Bonus Obj Early Kill Q ///Auto - Copied from enUS Locale
+Trigger/Name/0DD61C06=Zerg Expand Across Map ///Auto - Copied from enUS Locale
+Trigger/Name/0E707B11=Objective Destroy Shield Projectors Complete ///Auto - Copied from enUS Locale
+Trigger/Name/13888965=Victory Destroy Tal'darim Mothership Completed ///Auto - Copied from enUS Locale
+Trigger/Name/17336537=Reigel Untargetable ///Auto - Copied from enUS Locale
+Trigger/Name/18FA1BE9=DOM Zone 1 ///Auto - Copied from enUS Locale
+Trigger/Name/198C2FDB=Nuke Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/19F541F5=Protoss Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/1ADDA0C3=Reigel SCV Stopper ///Auto - Copied from enUS Locale
+Trigger/Name/1BCD3638=DoM Unit Killed Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1BE1D733=Objective Destroy Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/1CA5F43E=DoM Region Aggro ///Auto - Copied from enUS Locale
+Trigger/Name/1D6E3BC5=Mid Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/1D956ACD=Debug - Stage 2 ///Auto - Copied from enUS Locale
+Trigger/Name/1EAF4826=Hatch Killed Q ///Auto - Copied from enUS Locale
+Trigger/Name/209BE7D0=Reigel Supply Depot Builder ///Auto - Copied from enUS Locale
+Trigger/Name/23A3ED01=Victory Q ///Auto - Copied from enUS Locale
+Trigger/Name/25315D89=Attack Mode Arrow Update ///Auto - Copied from enUS Locale
+Trigger/Name/255005D0=Zerg Larva Spawner South ///Auto - Copied from enUS Locale
+Trigger/Name/28F5D397=Start Mothership Attack Q ///Auto - Copied from enUS Locale
+Trigger/Name/29D2B52B=Defeat Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/2A824E87=Objective Destroy Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/2BDE17FF=Victory Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/2C55ADB9=DoM Approach Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/2FE4D38A=Defeat Base Dead ///Auto - Copied from enUS Locale
+Trigger/Name/31983711=DOM Zone 1 Q ///Auto - Copied from enUS Locale
+Trigger/Name/35C496EE=Objective Nova Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/363DB582=Go Kill Stuff Q ///Auto - Copied from enUS Locale
+Trigger/Name/3AA1BFD3=Objective Civilian Center Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/3DA34A84=DOM Zone 3 Q ///Auto - Copied from enUS Locale
+Trigger/Name/3F9C880F=Zerg Hatcheries Killed In Phase 1 Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/3FBD398F=Objective Destroy Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/40915F80=DoM Structure Lost Tracker ///Auto - Copied from enUS Locale
+Trigger/Name/40EDEA90=DOM Zone 2 Q ///Auto - Copied from enUS Locale
+Trigger/Name/4252A802=Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/42B66DC4=DoM Aggro Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/42D5472E=Initialization ///Auto - Copied from enUS Locale
+Trigger/Name/45771588=Tip Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/458F76A5=Stage1 First Order ///Auto - Copied from enUS Locale
+Trigger/Name/4639C6BB=Defense Mode Timer Update ///Auto - Copied from enUS Locale
+Trigger/Name/46AB28E0=Objective Destroy Remaining Zerg Hatcheries Create ///Auto - Copied from enUS Locale
+Trigger/Name/49197282=Mothership Almost Ready Q ///Auto - Copied from enUS Locale
+Trigger/Name/4A441680=Objective Destroy Shield Projectors Failed ///Auto - Copied from enUS Locale
+Trigger/Name/4AC8E541=Victory Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/4B710428=Shield Projector Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/4BC02852=Init 01 Technology ///Auto - Copied from enUS Locale
+Trigger/Name/4D6E8A26=Objective Civilian Center Must Survive Complete ///Auto - Copied from enUS Locale
+Trigger/Name/576491A0=Zerg Larva Spawner North ///Auto - Copied from enUS Locale
+Trigger/Name/5F90EAFD=Start Defense Mode Q ///Auto - Copied from enUS Locale
+Trigger/Name/640CEABD=Stage1 Start ///Auto - Copied from enUS Locale
+Trigger/Name/64189992=Stage 2 Start ///Auto - Copied from enUS Locale
+Trigger/Name/65C58C1F=Spore Crawler Spawner ///Auto - Copied from enUS Locale
+Trigger/Name/66318A89=Mid Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/68644F51=Objective Destroy Fleet Beacon Create ///Auto - Copied from enUS Locale
+Trigger/Name/710CA89B=Init 03 Units ///Auto - Copied from enUS Locale
+Trigger/Name/7149B9F0=Victory Setup ///Auto - Copied from enUS Locale
+Trigger/Name/72A3E5D8=Defeat ///Auto - Copied from enUS Locale
+Trigger/Name/77C3224A=Defeat Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/78B03163=Briefing Scene 02 - Banshees ///Auto - Copied from enUS Locale
+Trigger/Name/7908906B=Victory Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/7993D0ED=Intro Sequence ///Auto - Copied from enUS Locale
+Trigger/Name/7BB62E8F=Zerg Bonus Obj Reveal Q ///Auto - Copied from enUS Locale
+Trigger/Name/7BD3A181=Victory Cheat ///Auto - Copied from enUS Locale
+Trigger/Name/7D446A57=Protoss Bonus Obj Destroyed ///Auto - Copied from enUS Locale
+Trigger/Name/7F93E73E=RetaliationUnitSpawned ///Auto - Copied from enUS Locale
+Trigger/Name/81D6E960=AI Upgrade Brutal ///Auto - Copied from enUS Locale
+Trigger/Name/84EC31E2=Reigel Base Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/87B3C0E3=Mothership Reinforcements ///Auto - Copied from enUS Locale
+Trigger/Name/8C4506C5=Spawn Civilians ///Auto - Copied from enUS Locale
+Trigger/Name/8DC6D358=Zerg Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/8F9FDB39=AI Upgrade Hard ///Auto - Copied from enUS Locale
+Trigger/Name/8FDEF894=Mid Q ///Auto - Copied from enUS Locale
+Trigger/Name/96D439B5=Weather Change ///Auto - Copied from enUS Locale
+Trigger/Name/98E8F45A=DOM Zone 3 ///Auto - Copied from enUS Locale
+Trigger/Name/9AB906FB=Objective Destroy Remaining Zerg Hatcheries Failed ///Auto - Copied from enUS Locale
+Trigger/Name/9D0AB677=AI Upgrade Casual/Normal ///Auto - Copied from enUS Locale
+Trigger/Name/9D1F7776=Briefing Scene 01 - Stadium ///Auto - Copied from enUS Locale
+Trigger/Name/A9B58558=Defeat Nova Dead ///Auto - Copied from enUS Locale
+Trigger/Name/AE10136B=Reigel Base Setup Timing ///Auto - Copied from enUS Locale
+Trigger/Name/AE978D3C=Out of Time Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/AF5B712D=Zerg Takeover ///Auto - Copied from enUS Locale
+Trigger/Name/B149B7F7=Mothership Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/B17BA62A=Init 05 Environment ///Auto - Copied from enUS Locale
+Trigger/Name/B31B79A8=Init 02 Players ///Auto - Copied from enUS Locale
+Trigger/Name/B9C40A12=Briefing Q ///Auto - Copied from enUS Locale
+Trigger/Name/BBBD74DF=Objective Nova Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/C2573B09=Init 04 Music/Sound ///Auto - Copied from enUS Locale
+Trigger/Name/C296CDBD=Victory Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/C7ED6C0F=Protoss Bonus Obj Complete Q ///Auto - Copied from enUS Locale
+Trigger/Name/C900E2FF=Mothership Controller ///Auto - Copied from enUS Locale
+Trigger/Name/CA53329E=Start AI ///Auto - Copied from enUS Locale
+Trigger/Name/CAE62D81=Intro Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/CE92F347=Objective Destroy Remaining Zerg Hatcheries Complete ///Auto - Copied from enUS Locale
+Trigger/Name/D04A5FCA=Objective Destroy Shield Projectors Update ///Auto - Copied from enUS Locale
+Trigger/Name/D0FC5694=Mid Setup ///Auto - Copied from enUS Locale
+Trigger/Name/D11E0CCC=Init 07 Help ///Auto - Copied from enUS Locale
+Trigger/Name/D27CE2B3=Zerg Hatchery Killed ///Auto - Copied from enUS Locale
+Trigger/Name/D3E5B8D0=DOM Zone 2 ///Auto - Copied from enUS Locale
+Trigger/Name/D5CE85E6=Briefing Scene 00 - Fortification ///Auto - Copied from enUS Locale
+Trigger/Name/D80A366B=zzOLD - Zerg Attack Waves ///Auto - Copied from enUS Locale
+Trigger/Name/D8428E42=Spore Crawler Warning Q ///Auto - Copied from enUS Locale
+Trigger/Name/DAAF3F40=Victory ///Auto - Copied from enUS Locale
+Trigger/Name/DACAA5C1=Objective Destroy Tal'darim Mothership Create ///Auto - Copied from enUS Locale
+Trigger/Name/DBE13B8B=Intro Q ///Auto - Copied from enUS Locale
+Trigger/Name/DE7756CF=Add Protoss Units To Glossary ///Auto - Copied from enUS Locale
+Trigger/Name/DE926B45=Objective Destroy Tal'darim Mothership Complete ///Auto - Copied from enUS Locale
+Trigger/Name/E27CD0C1=Cloak Reminder Q ///Auto - Copied from enUS Locale
+Trigger/Name/E3C2BAE5=Objective Destroy Tal'darim Mothership Failed ///Auto - Copied from enUS Locale
+Trigger/Name/E5EF887D=Reigel Nuke Armer ///Auto - Copied from enUS Locale
+Trigger/Name/E762B85C=Intro Cinematic End ///Auto - Copied from enUS Locale
+Trigger/Name/E942D7B2=Protoss Bonus Obj Early Reveal ///Auto - Copied from enUS Locale
+Trigger/Name/EB0D4D7D=Objective Civilian Center Must Survive Failed ///Auto - Copied from enUS Locale
+Trigger/Name/ED33C499=Mid Cleanup ///Auto - Copied from enUS Locale
+Trigger/Name/EE1075A2=Intro Cinematic ///Auto - Copied from enUS Locale
+Trigger/Name/EF3FE9A3=Objective Destroy Fleet Beacon Complete ///Auto - Copied from enUS Locale
+Trigger/Name/F0A6BF5A=Objective Nova Must Survive Create ///Auto - Copied from enUS Locale
+Trigger/Name/F7FE02B6=Intro Setup ///Auto - Copied from enUS Locale
+Trigger/Name/FA0067C1=Start Mothership Attack ///Auto - Copied from enUS Locale
+Trigger/Name/FC669A2C=Stage 2 Intro Q ///Auto - Copied from enUS Locale
+Variable/Name/02507645=RetaliationPrismZealotMax ///Auto - Copied from enUS Locale
+Variable/Name/0269EDCB=S1_Timer ///Auto - Copied from enUS Locale
+Variable/Name/030BDA84=SouthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/03C87295=Objective DestroyShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/084B0661=NorthHatcheryGroup ///Auto - Copied from enUS Locale
+Variable/Name/0C114E87=MidGoliaths ///Auto - Copied from enUS Locale
+Variable/Name/0DA9BD1F=RetaliationWave_JustAttackers ///Auto - Copied from enUS Locale
+Variable/Name/10708A1D=CinematicTempUnits ///Auto - Copied from enUS Locale
+Variable/Name/12434E96=DefenseModeTimer ///Auto - Copied from enUS Locale
+Variable/Name/13220B0C=MothershipPing ///Auto - Copied from enUS Locale
+Variable/Name/13ECA294=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/140FF435=Objective Nova Must Survive ///Auto - Copied from enUS Locale
+Variable/Name/1498E3C9=AttackMode ///Auto - Copied from enUS Locale
+Variable/Name/1B55205E=DefenseModeDuration ///Auto - Copied from enUS Locale
+Variable/Name/1C6F7F8D=hatchAlive ///Auto - Copied from enUS Locale
+Variable/Name/1F5CA7E8=Mothership Charged Count ///Auto - Copied from enUS Locale
+Variable/Name/240217D8=waveCount ///Auto - Copied from enUS Locale
+Variable/Name/24B96BD3=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/253D2AF3=triggeringHiveCluster ///Auto - Copied from enUS Locale
+Variable/Name/26037C33=AttackModeCount ///Auto - Copied from enUS Locale
+Variable/Name/26C62662=Objective CivilianCenterMustSurvive ///Auto - Copied from enUS Locale
+Variable/Name/26DA6D24=MusicOutroTrack ///Auto - Copied from enUS Locale
+Variable/Name/289BC70B=Stage1PausedObservers ///Auto - Copied from enUS Locale
+Variable/Name/2A0510B0=PlayerGroup_Zerg ///Auto - Copied from enUS Locale
+Variable/Name/2C07B585=MothershipArrows ///Auto - Copied from enUS Locale
+Variable/Name/30917835=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/310559CB=PLAYER_04_DEFENDERS ///Auto - Copied from enUS Locale
+Variable/Name/3127C760=Objective DestroyFleetBeacon ///Auto - Copied from enUS Locale
+Variable/Name/31438411=AmbienceMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/3254AC15=Objective DestroyZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/34AE8E4B=crawlerCheckPoint ///Auto - Copied from enUS Locale
+Variable/Name/3560A437=DefenseModeCount ///Auto - Copied from enUS Locale
+Variable/Name/3574DBCB=griffon ///Auto - Copied from enUS Locale
+Variable/Name/35757937=closestNexus ///Auto - Copied from enUS Locale
+Variable/Name/36A15666=closestGenerator ///Auto - Copied from enUS Locale
+Variable/Name/3B5D3198=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/3F89E941=PLAYER_03_CIVILIANS ///Auto - Copied from enUS Locale
+Variable/Name/42D0E9A6=waveDelay ///Auto - Copied from enUS Locale
+Variable/Name/44BE2462=i ///Auto - Copied from enUS Locale
+Variable/Name/44F625CC=zealotCount ///Auto - Copied from enUS Locale
+Variable/Name/46870B10=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/4A4CE605=RetaliationWave_AllUnits ///Auto - Copied from enUS Locale
+Variable/Name/4D3A11F0=MusicMidCineTrack ///Auto - Copied from enUS Locale
+Variable/Name/4DC0CE1C=Objective DestroyTaldarimMothership ///Auto - Copied from enUS Locale
+Variable/Name/4EA224F5=PLAYER_07_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/53E60942=Zerg Hive Cluster Pings ///Auto - Copied from enUS Locale
+Variable/Name/579701CD=Zerg Rebuilt ///Auto - Copied from enUS Locale
+Variable/Name/5A14F6C6=DoM Structures Lost ///Auto - Copied from enUS Locale
+Variable/Name/5A8B4F22=PLAYER_05_TALDARIM ///Auto - Copied from enUS Locale
+Variable/Name/5C3868F4=overseer ///Auto - Copied from enUS Locale
+Variable/Name/5C5677CB=growthRate ///Auto - Copied from enUS Locale
+Variable/Name/6020325B=cinematicMothership ///Auto - Copied from enUS Locale
+Variable/Name/653BF82E=MusicMainTrack ///Auto - Copied from enUS Locale
+Variable/Name/66C11A78=closestValidCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/67EE4884=i ///Auto - Copied from enUS Locale
+Variable/Name/6993D3A4=IntroNova ///Auto - Copied from enUS Locale
+Variable/Name/6AF38F24=banshee ///Auto - Copied from enUS Locale
+Variable/Name/6C23F7E6=RetaliationPrismStalkerMax ///Auto - Copied from enUS Locale
+Variable/Name/6F1D88B8=i ///Auto - Copied from enUS Locale
+Variable/Name/7044F4B2=Zerg Starting Structure Count ///Auto - Copied from enUS Locale
+Variable/Name/73383EA2=ShieldProjectors ///Auto - Copied from enUS Locale
+Variable/Name/73D7D674=TriggeringUnitPoint ///Auto - Copied from enUS Locale
+Variable/Name/7758D7E0=cluster3WaveData ///Auto - Copied from enUS Locale
+Variable/Name/7C38D74B=immortalCount ///Auto - Copied from enUS Locale
+Variable/Name/7EC582AC=y ///Auto - Copied from enUS Locale
+Variable/Name/7EFA6AFF=Zerg Hatcheries ///Auto - Copied from enUS Locale
+Variable/Name/7F826EAE=stalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/80AA0151=cinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/8500D364=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/8567DAD5=MidMarines ///Auto - Copied from enUS Locale
+Variable/Name/86D3AA6C=Zerg Hatcheries Killed In Phase1 ///Auto - Copied from enUS Locale
+Variable/Name/88E2F9EE=CinematicNova ///Auto - Copied from enUS Locale
+Variable/Name/896F799D=RetaliationPrismZealotCount ///Auto - Copied from enUS Locale
+Variable/Name/8DC56F41=RetaliationPrismStalkerCount ///Auto - Copied from enUS Locale
+Variable/Name/8E0A7894=MusicIntroTrack ///Auto - Copied from enUS Locale
+Variable/Name/91071F61=CinematicPausedUnits ///Auto - Copied from enUS Locale
+Variable/Name/92E93416=nearbyValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/94FD559A=nearClusteredUnits ///Auto - Copied from enUS Locale
+Variable/Name/96E53E46=activeZoneTargets ///Auto - Copied from enUS Locale
+Variable/Name/974BF614=southSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/9E102A8C=warpDelay ///Auto - Copied from enUS Locale
+Variable/Name/A13BAC03=Early Nuke Reveal Modifier ///Auto - Copied from enUS Locale
+Variable/Name/A8745B8E=northSpawnWaveData ///Auto - Copied from enUS Locale
+Variable/Name/AAD0B11A=S1_TimerWindow ///Auto - Copied from enUS Locale
+Variable/Name/AADD7E54=AttackWarningCount ///Auto - Copied from enUS Locale
+Variable/Name/AD27C502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/AE45D812=roundedCrawlerLocation ///Auto - Copied from enUS Locale
+Variable/Name/B06C0934=randomishSpawnPoint ///Auto - Copied from enUS Locale
+Variable/Name/B49E3BC9=Objective DestroyRemainingZergHatcheries ///Auto - Copied from enUS Locale
+Variable/Name/B6709BCC=Mothership ///Auto - Copied from enUS Locale
+Variable/Name/B71A1C04=banshees ///Auto - Copied from enUS Locale
+Variable/Name/B8794F3E=CinematicCompleted ///Auto - Copied from enUS Locale
+Variable/Name/BA3FC6A9=ReplacementBansheesIter ///Auto - Copied from enUS Locale
+Variable/Name/C1643CC8=banshee ///Auto - Copied from enUS Locale
+Variable/Name/C2306087=notYetRescuedUnits ///Auto - Copied from enUS Locale
+Variable/Name/C3259A9C=IntroBanshees ///Auto - Copied from enUS Locale
+Variable/Name/C440E1CD=RetaliationWave_WarpedInInfantry ///Auto - Copied from enUS Locale
+Variable/Name/C5B9DA31=cluster4WaveData ///Auto - Copied from enUS Locale
+Variable/Name/C800FC85=ActiveMothershipAttackRegion ///Auto - Copied from enUS Locale
+Variable/Name/C8203405=Nova ///Auto - Copied from enUS Locale
+Variable/Name/C8D47502=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/C90DC4C7=attackingGroup ///Auto - Copied from enUS Locale
+Variable/Name/C98C6471=livingGenerators ///Auto - Copied from enUS Locale
+Variable/Name/CB4521CB=nearValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/CBC567BE=cluster5WaveData ///Auto - Copied from enUS Locale
+Variable/Name/CCA5C9FC=PLAYER_01_USER ///Auto - Copied from enUS Locale
+Variable/Name/CE682EBB=PLAYER_02_REIGEL ///Auto - Copied from enUS Locale
+Variable/Name/D3040B7C=x ///Auto - Copied from enUS Locale
+Variable/Name/D34FCA05=ActivePhase ///Auto - Copied from enUS Locale
+Variable/Name/D421226F=RetaliationPrismInitialWarpDelay ///Auto - Copied from enUS Locale
+Variable/Name/D67F09D9=Phase1 Overseer Time Remaining ///Auto - Copied from enUS Locale
+Variable/Name/DAD936D1=overseerPlayer ///Auto - Copied from enUS Locale
+Variable/Name/DB7C8423=i ///Auto - Copied from enUS Locale
+Variable/Name/DBAB1621=PLAYER_06_ZERG ///Auto - Copied from enUS Locale
+Variable/Name/DBFA798C=farValidUnits ///Auto - Copied from enUS Locale
+Variable/Name/DDCB2E72=CinematicHiddenUnits ///Auto - Copied from enUS Locale
+Variable/Name/E2EF06AF=FadeDuration ///Auto - Copied from enUS Locale
+Variable/Name/E75523C9=i ///Auto - Copied from enUS Locale
+Variable/Name/EB1086B3=creepRemoveRadius ///Auto - Copied from enUS Locale
+Variable/Name/EB12A247=cluster2WaveData ///Auto - Copied from enUS Locale
+Variable/Name/ED16EB9B=cluster1WaveData ///Auto - Copied from enUS Locale
+Variable/Name/F079C141=cloakedUnits ///Auto - Copied from enUS Locale
+Variable/Name/F3EABBD0=IntroSound ///Auto - Copied from enUS Locale
+Variable/Name/F590C5DE=LoopUnit ///Auto - Copied from enUS Locale
+Variable/Name/F7EBC5E6=AttackingPlayer ///Auto - Copied from enUS Locale
+Variable/Name/FD203DB8=cluster6WaveData ///Auto - Copied from enUS Locale
+Variable/Name/FE32F234=rescuedUnit ///Auto - Copied from enUS Locale
+Variable/Name/FF95A17C=MorphPoint ///Auto - Copied from enUS Locale
\ No newline at end of file
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/BankList.xml b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/BankList.xml
index 21021f1ffa..73d7af5b3d 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/BankList.xml
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/BankList.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/CellAttribute_Pnp b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/CellAttribute_Pnp
index 7860b337ae..6e48d57d6f 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/CellAttribute_Pnp and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/CellAttribute_Pnp differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/ComponentList.SC2Components b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/ComponentList.SC2Components
index 8e0e3879cc..153bb974b2 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/ComponentList.SC2Components
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/ComponentList.SC2Components
@@ -1,6 +1,5 @@
-
+
-
GameData
GameText
DocumentInfo
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/DocumentHeader b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/DocumentHeader
index 589708bc2b..b74ac29d0a 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/DocumentHeader and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/DocumentHeader differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo
index a2985d17c3..f1c44741a3 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo.version b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo.version
index 9f72cca41f..53627b2818 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo.version and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapInfo.version differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy
index 79414cb353..e9c7e56a09 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/MapScript.galaxy
@@ -147,6 +147,7 @@ int gv_infestedKillClaimerWaveTransmissionCount;
bool gv_achievement_PlayerHasKilledProtoss;
int gv_victoryStat_LiberatorKills;
int gv_victoryStat_ProtossWavesIntercepted;
+bool gv_achievementConstructedSiegeTankOrLiberator;
int gv_objectiveDestroyZergBase;
int gv_objectiveExtractTerrazineCount;
int gv_objectiveExtractTerrazineMax;
@@ -377,6 +378,7 @@ trigger gt_VictoryCheat;
trigger gt_DefeatCheat;
trigger gt_Achievement_PlayerHasKilledProtoss;
trigger gt_VictoryStat_LiberatorKills;
+trigger gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators;
trigger gt_TipReadyQ;
trigger gt_ObjectiveExtractTerrazineCreate;
trigger gt_ObjectiveExtractTerrazineComplete;
@@ -607,6 +609,7 @@ void cai_runall () {
// Global Functions
//--------------------------------------------------------------------------------------------------
void gf_ToggleNovaWeaponReverb (int lp_reverbState) {
+ // Automatic Variable Declarations
// Implementation
if ((lp_reverbState == ge_PRESETWeaponReverb_Indoor)) {
TechTreeUpgradeAddLevel(gv_pLAYER_01_USER, "NovaIndoorSounds", 1);
@@ -619,19 +622,19 @@ void gf_ToggleNovaWeaponReverb (int lp_reverbState) {
}
int gf_GetTerrazineTankIndexFromTankUnit (unit lp_terrazineTankUnit) {
- int auto45E26AD5_ae;
- int auto45E26AD5_ai;
-
// Variable Declarations
int lv_tankIter;
+ // Automatic Variable Declarations
+ int auto45E26AD5_ae;
+ const int auto45E26AD5_ai = 1;
+
// Variable Initialization
// Implementation
auto45E26AD5_ae = gv_terrazineTankLocationsCount;
- auto45E26AD5_ai = 1;
lv_tankIter = 1;
- for ( ; ( (auto45E26AD5_ai >= 0 && lv_tankIter <= auto45E26AD5_ae) || (auto45E26AD5_ai <= 0 && lv_tankIter >= auto45E26AD5_ae) ) ; lv_tankIter += auto45E26AD5_ai ) {
+ for ( ; ( (auto45E26AD5_ai >= 0 && lv_tankIter <= auto45E26AD5_ae) || (auto45E26AD5_ai < 0 && lv_tankIter >= auto45E26AD5_ae) ) ; lv_tankIter += auto45E26AD5_ai ) {
if ((gv_terrazineTankLocations[lv_tankIter].lv_terrazineTankUnit == lp_terrazineTankUnit)) {
return lv_tankIter;
}
@@ -641,19 +644,19 @@ int gf_GetTerrazineTankIndexFromTankUnit (unit lp_terrazineTankUnit) {
}
int gf_GetTerrazineTankIndexFromBeaconRegion (region lp_beaconRegion) {
- int auto9292E08D_ae;
- int auto9292E08D_ai;
-
// Variable Declarations
int lv_tankIter;
+ // Automatic Variable Declarations
+ int auto9292E08D_ae;
+ const int auto9292E08D_ai = 1;
+
// Variable Initialization
// Implementation
auto9292E08D_ae = gv_terrazineTankLocationsCount;
- auto9292E08D_ai = 1;
lv_tankIter = 1;
- for ( ; ( (auto9292E08D_ai >= 0 && lv_tankIter <= auto9292E08D_ae) || (auto9292E08D_ai <= 0 && lv_tankIter >= auto9292E08D_ae) ) ; lv_tankIter += auto9292E08D_ai ) {
+ for ( ; ( (auto9292E08D_ai >= 0 && lv_tankIter <= auto9292E08D_ae) || (auto9292E08D_ai < 0 && lv_tankIter >= auto9292E08D_ae) ) ; lv_tankIter += auto9292E08D_ai ) {
if ((gv_terrazineTankLocations[lv_tankIter].lv_beaconRegion == lp_beaconRegion)) {
return lv_tankIter;
}
@@ -670,6 +673,7 @@ void gf_PlayerInitiatesGatheringTerrazineTank (int lp_terrazineTankIndex) {
int lv_timerMax;
int lv_timerCount;
+ // Automatic Variable Declarations
// Variable Initialization
lv_timerMax = 120;
lv_timerCount = 120;
@@ -703,6 +707,10 @@ void gf_PlayerInitiatesGatheringTerrazineTank (int lp_terrazineTankIndex) {
}
void gf_PlayerFinishesGatheringTerrazineTankQ (int lp_terrazineTankIndex) {
+ // Automatic Variable Declarations
+ unitgroup auto84896655_g;
+ int auto84896655_u;
+ unit auto84896655_var;
int auto75861884_val;
// Implementation
@@ -717,14 +725,16 @@ void gf_PlayerFinishesGatheringTerrazineTankQ (int lp_terrazineTankIndex) {
UnitSetState(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit, c_unitStateTargetable, false);
UnitSetState(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit, c_unitStateTooltipable, false);
UnitSetState(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit, c_unitStateSelectable, false);
- UnitGroupLoopBegin(gv_infestedRageWaveUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetCustomValue(UnitGroupLoopCurrent(), 0) == lp_terrazineTankIndex)) {
- gf_BurrowAndRemoveInfestedWaveUnit(UnitGroupLoopCurrent());
+ auto84896655_g = gv_infestedRageWaveUnits;
+ auto84896655_u = UnitGroupCount(auto84896655_g, c_unitCountAll);
+ for (;; auto84896655_u -= 1) {
+ auto84896655_var = UnitGroupUnitFromEnd(auto84896655_g, auto84896655_u);
+ if (auto84896655_var == null) { break; }
+ if ((UnitGetCustomValue(auto84896655_var, 0) == lp_terrazineTankIndex)) {
+ gf_BurrowAndRemoveInfestedWaveUnit(auto84896655_var);
}
}
- UnitGroupLoopEnd();
gv_objectiveExtractTerrazineCount += 1;
TriggerExecute(gt_ObjectiveExtractTerrazineUpdate, true, false);
if ((gv_objectiveExtractTerrazineCount >= gv_objectiveExtractTerrazineMax)) {
@@ -791,6 +801,7 @@ bool auto_gf_CreateTerrazineCanisterandAnimateTank_TriggerFunc (bool testConds,
unit lv_canister;
unit lv_griffin;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -822,11 +833,12 @@ bool auto_gf_CreateTerrazineCanisterandAnimateTank_TriggerFunc (bool testConds,
}
void gf_ProtossDestroysTerrazineTankQ (int lp_terrazineTankIndex) {
- int autoAE540E49_val;
-
// Variable Declarations
fixed lv_timerTime;
+ // Automatic Variable Declarations
+ int autoAE540E49_val;
+
// Variable Initialization
// Implementation
@@ -873,17 +885,24 @@ void gf_InfestedDestroysTerrazineTank (int lp_terrazineTankIndex) {
// Variable Declarations
fixed lv_timerTime;
+ // Automatic Variable Declarations
+ unitgroup autoC02902CA_g;
+ int autoC02902CA_u;
+ unit autoC02902CA_var;
+
// Variable Initialization
// Implementation
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionCircle(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankPoint, 8.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((AIUnitGetWave(UnitGroupLoopCurrent()) != null)) {
- AIRemoveUnitFromAnyWaves(UnitGroupLoopCurrent());
+ autoC02902CA_g = UnitGroup(null, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionCircle(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankPoint, 8.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC02902CA_u = UnitGroupCount(autoC02902CA_g, c_unitCountAll);
+ for (;; autoC02902CA_u -= 1) {
+ autoC02902CA_var = UnitGroupUnitFromEnd(autoC02902CA_g, autoC02902CA_u);
+ if (autoC02902CA_var == null) { break; }
+ if ((AIUnitGetWave(autoC02902CA_var) != null)) {
+ AIRemoveUnitFromAnyWaves(autoC02902CA_var);
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
VisRevealerDestroy(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_revealer);
UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/0FABD2CB"), null, gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankPoint);
@@ -892,39 +911,50 @@ void gf_InfestedDestroysTerrazineTank (int lp_terrazineTankIndex) {
}
void gf_BonusObjectivePauseUnpauseUnitGroup (bool lp_pauseUnpause, unitgroup lp_pausingUnitGroup) {
+ // Automatic Variable Declarations
bool auto57E003E7_val;
+ unitgroup autoCCF771C0_g;
+ int autoCCF771C0_u;
+ unit autoCCF771C0_var;
+ unitgroup auto725FFC0D_g;
+ int auto725FFC0D_u;
+ unit auto725FFC0D_var;
// Implementation
auto57E003E7_val = lp_pauseUnpause;
if (auto57E003E7_val == true) {
- UnitGroupLoopBegin(lp_pausingUnitGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "Beacon_Nova") && (UnitGetCustomValue(UnitGroupLoopCurrent(), 1) == 0.0)) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateHighlightable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateSelectable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTargetable, false);
- libNtve_gf_MakeUnitUncommandable(UnitGroupLoopCurrent(), true);
- libNtve_gf_MakeUnitInvulnerable(UnitGroupLoopCurrent(), true);
+ autoCCF771C0_g = lp_pausingUnitGroup;
+ autoCCF771C0_u = UnitGroupCount(autoCCF771C0_g, c_unitCountAll);
+ for (;; autoCCF771C0_u -= 1) {
+ autoCCF771C0_var = UnitGroupUnitFromEnd(autoCCF771C0_g, autoCCF771C0_u);
+ if (autoCCF771C0_var == null) { break; }
+ if ((UnitGetType(autoCCF771C0_var) != "Beacon_Nova") && (UnitGetCustomValue(autoCCF771C0_var, 1) == 0.0)) {
+ libNtve_gf_PauseUnit(autoCCF771C0_var, true);
+ UnitSetState(autoCCF771C0_var, c_unitStateHighlightable, false);
+ UnitSetState(autoCCF771C0_var, c_unitStateSelectable, false);
+ UnitSetState(autoCCF771C0_var, c_unitStateTargetable, false);
+ libNtve_gf_MakeUnitUncommandable(autoCCF771C0_var, true);
+ libNtve_gf_MakeUnitInvulnerable(autoCCF771C0_var, true);
}
}
- UnitGroupLoopEnd();
}
else if (auto57E003E7_val == false) {
- UnitGroupLoopBegin(lp_pausingUnitGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "Beacon_Nova") && (UnitGetCustomValue(UnitGroupLoopCurrent(), 1) == 0.0)) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateHighlightable, true);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateSelectable, true);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTargetable, true);
- libNtve_gf_MakeUnitUncommandable(UnitGroupLoopCurrent(), false);
- libNtve_gf_MakeUnitInvulnerable(UnitGroupLoopCurrent(), false);
+ auto725FFC0D_g = lp_pausingUnitGroup;
+ auto725FFC0D_u = UnitGroupCount(auto725FFC0D_g, c_unitCountAll);
+ for (;; auto725FFC0D_u -= 1) {
+ auto725FFC0D_var = UnitGroupUnitFromEnd(auto725FFC0D_g, auto725FFC0D_u);
+ if (auto725FFC0D_var == null) { break; }
+ if ((UnitGetType(auto725FFC0D_var) != "Beacon_Nova") && (UnitGetCustomValue(auto725FFC0D_var, 1) == 0.0)) {
+ libNtve_gf_PauseUnit(auto725FFC0D_var, false);
+ UnitSetState(auto725FFC0D_var, c_unitStateHighlightable, true);
+ UnitSetState(auto725FFC0D_var, c_unitStateSelectable, true);
+ UnitSetState(auto725FFC0D_var, c_unitStateTargetable, true);
+ libNtve_gf_MakeUnitUncommandable(auto725FFC0D_var, false);
+ libNtve_gf_MakeUnitInvulnerable(auto725FFC0D_var, false);
}
}
- UnitGroupLoopEnd();
}
else {
}
@@ -946,6 +976,7 @@ void gf_BonusObjectiveBurrowAndRemoveInfestedWaveUnit (unit lp_infestedUnit) {
bool auto_gf_BonusObjectiveBurrowAndRemoveInfestedWaveUnit_TriggerFunc (bool testConds, bool runActions) {
unit lp_infestedUnit = auto_gf_BonusObjectiveBurrowAndRemoveInfestedWaveUnit_lp_infestedUnit;
+ // Automatic Variable Declarations
// Implementation
AIRemoveUnitFromAnyWaves(lp_infestedUnit);
Wait(RandomFixed(2.0, 5.0), c_timeGame);
@@ -964,6 +995,7 @@ bool auto_gf_BonusObjectiveBurrowAndRemoveInfestedWaveUnit_TriggerFunc (bool tes
}
void gf_BonusObjectiveBlightbringerMoveToNewEggSpot (unit lp_blightbringer, point lp_targetPoint) {
+ // Automatic Variable Declarations
// Implementation
while ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (UnitIsAlive(lp_blightbringer) == true) && (UnitGetType(lp_blightbringer) == "Blightbringer")) {
UnitIssueOrder(lp_blightbringer, Order(AbilityCommand("BurrowBlightbringerDown", 0)), c_orderQueueReplace);
@@ -982,6 +1014,7 @@ void gf_BonusObjectiveBlightbringerMoveToNewEggSpot (unit lp_blightbringer, poin
}
void gf_BonusObjectiveBlightbringerEgg (unit lp_blightbringer, point lp_eggPoint, bool lp_bigEgg) {
+ // Automatic Variable Declarations
// Implementation
if ((UnitIsAlive(lp_blightbringer) == true) && (UnitGroupCount(gv_bonusObjective_HatchedInfestedGroup, c_unitCountAlive) < 10)) {
if ((lp_bigEgg == true)) {
@@ -996,6 +1029,11 @@ void gf_BonusObjectiveBlightbringerEgg (unit lp_blightbringer, point lp_eggPoint
}
void gf_BonusObjectiveBlightbringerCleanup () {
+ // Automatic Variable Declarations
+ unitgroup autoABDBBD63_g;
+ int autoABDBBD63_u;
+ unit autoABDBBD63_var;
+
// Implementation
if ((UnitIsAlive(gv_bonusObjective_Blightbringer) == true)) {
UnitSetPosition(gv_bonusObjective_Blightbringer, Point(47.0, 32.0), false);
@@ -1004,14 +1042,16 @@ void gf_BonusObjectiveBlightbringerCleanup () {
}
if (((gv_bonusObjective_BlightbringerActive == true) || (UnitIsAlive(gv_bonusObjective_Blightbringer) == false))) {
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "InfestedCivilian") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedCivilianBurrowed") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedExploder") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedExploderBurrowed") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedTerranCampaign") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedTerranCampaign") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedAbomination") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedAbominationBurrowed") || (UnitGetType(UnitGroupLoopCurrent()) == "BlightbringerEgg") || (UnitGetType(UnitGroupLoopCurrent()) == "BlightbringerLargeEgg") || (UnitGetType(UnitGroupLoopCurrent()) == "BlightbringerEggWeapon") || (UnitGetType(UnitGroupLoopCurrent()) == "BlightbringerLargeEggWeapon") || (UnitGetType(UnitGroupLoopCurrent()) == "BlightbringerVileStream") || (UnitGetType(UnitGroupLoopCurrent()) == "SpitAcidWeapon") || (UnitGetType(UnitGroupLoopCurrent()) == "NovaAcidPuddle"))) {
- UnitRemove(UnitGroupLoopCurrent());
+ autoABDBBD63_g = UnitGroup(null, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoABDBBD63_u = UnitGroupCount(autoABDBBD63_g, c_unitCountAll);
+ for (;; autoABDBBD63_u -= 1) {
+ autoABDBBD63_var = UnitGroupUnitFromEnd(autoABDBBD63_g, autoABDBBD63_u);
+ if (autoABDBBD63_var == null) { break; }
+ if (((UnitGetType(autoABDBBD63_var) == "InfestedCivilian") || (UnitGetType(autoABDBBD63_var) == "InfestedCivilianBurrowed") || (UnitGetType(autoABDBBD63_var) == "InfestedExploder") || (UnitGetType(autoABDBBD63_var) == "InfestedExploderBurrowed") || (UnitGetType(autoABDBBD63_var) == "InfestedTerranCampaign") || (UnitGetType(autoABDBBD63_var) == "InfestedTerranCampaign") || (UnitGetType(autoABDBBD63_var) == "InfestedAbomination") || (UnitGetType(autoABDBBD63_var) == "InfestedAbominationBurrowed") || (UnitGetType(autoABDBBD63_var) == "BlightbringerEgg") || (UnitGetType(autoABDBBD63_var) == "BlightbringerLargeEgg") || (UnitGetType(autoABDBBD63_var) == "BlightbringerEggWeapon") || (UnitGetType(autoABDBBD63_var) == "BlightbringerLargeEggWeapon") || (UnitGetType(autoABDBBD63_var) == "BlightbringerVileStream") || (UnitGetType(autoABDBBD63_var) == "SpitAcidWeapon") || (UnitGetType(autoABDBBD63_var) == "NovaAcidPuddle"))) {
+ UnitRemove(autoABDBBD63_var);
}
}
- UnitGroupLoopEnd();
}
TriggerStop(gt_BonusObjectiveBlightbringerBattleAI);
@@ -1023,6 +1063,7 @@ void gf_BonusObjectiveEradicatorMissilesRing () {
fixed lv_currentAngle;
fixed lv_initialAngle;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1066,6 +1107,7 @@ void gf_BonusObjectiveEradicatorMissilesAttackDirectly () {
int lv_attackCounter;
fixed lv_untitledVariable001;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1089,6 +1131,7 @@ void gf_BonusObjectiveEradicatorMissilesEnrageRing () {
fixed lv_missileRange;
fixed lv_missileVolleyAngle;
+ // Automatic Variable Declarations
// Variable Initialization
lv_missileRange = 6.0;
@@ -1121,6 +1164,7 @@ void gf_BonusObjectiveEradicatorMissilesEnrageRing () {
}
void gf_BonusObjectiveEradicatorMissilesEntranceAttack () {
+ // Automatic Variable Declarations
// Implementation
while ((gv_eradicatorDenyPlayerSafeZone == true)) {
UnitIssueOrder(gv_eradicatorTypeMissile, OrderTargetingUnit(AbilityCommand("NovaEradicatorTurnTurret", 0), gv_nova), c_orderQueueAddToEnd);
@@ -1130,15 +1174,16 @@ void gf_BonusObjectiveEradicatorMissilesEntranceAttack () {
}
void gf_BonusObjectiveEradicatorCannonFiveWayShot () {
- int autoC17E2FA7_val;
- int auto902A0F71_val;
-
// Variable Declarations
point lv_startPoint;
point lv_endPoint;
int lv_shotCount;
fixed lv_interpolationOffset;
+ // Automatic Variable Declarations
+ int autoC17E2FA7_val;
+ int auto902A0F71_val;
+
// Variable Initialization
// Implementation
@@ -1192,14 +1237,15 @@ void gf_BonusObjectiveEradicatorCannonFiveWayShot () {
}
void gf_BonusObjectiveEradicatorCannonFanAttack () {
- int autoC7E9A424_val;
-
// Variable Declarations
point lv_targetPoint;
int lv_shotCount;
fixed lv_leftArc;
fixed lv_rightArc;
+ // Automatic Variable Declarations
+ int autoC7E9A424_val;
+
// Variable Initialization
// Implementation
@@ -1250,6 +1296,7 @@ bool auto_gf_BonusObjectiveEradicatorCannonAttack_TriggerFunc (bool testConds, b
// Variable Declarations
int lv_dEBUG_SHOT_NUMBER;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1286,6 +1333,7 @@ bool auto_gf_BonusObjectiveEradicatorCannonAttackNoTurn_TriggerFunc (bool testCo
// Variable Declarations
int lv_dEBUG_SHOT_NUMBER;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1303,6 +1351,7 @@ bool auto_gf_BonusObjectiveEradicatorCannonAttackNoTurn_TriggerFunc (bool testCo
}
void gf_BonusObjectiveEradicatorReset () {
+ // Automatic Variable Declarations
// Implementation
TriggerEnable(gt_BonusObjectiveEradicatorNovaEntersRoom, true);
TriggerEnable(gt_BonusObjectiveActivateEradicatorEnrageTransmissionQ, true);
@@ -1356,6 +1405,7 @@ bool auto_gf_AIMonitorBullyRebuildRegion_TriggerFunc (bool testConds, bool runAc
int lp_player = auto_gf_AIMonitorBullyRebuildRegion_lp_player;
region lp_bullyRebuildRegion = auto_gf_AIMonitorBullyRebuildRegion_lp_bullyRebuildRegion;
+ // Automatic Variable Declarations
// Implementation
libNtve_gf_DeclareNextTown(lp_player, RegionGetCenter(lp_bullyRebuildRegion));
Wait(2.0, c_timeAI);
@@ -1367,14 +1417,15 @@ bool auto_gf_AIMonitorBullyRebuildRegion_TriggerFunc (bool testConds, bool runAc
}
void gf_AIOracle (int lp_owner, unit lp_oracle, unitgroup lp_nearbyUnits) {
- unitgroup auto141DBA84_g;
- int auto141DBA84_u;
-
// Variable Declarations
unit lv_victim;
unitgroup lv_cloakedEnemyGroup12;
unit lv_currentUnit;
+ // Automatic Variable Declarations
+ unitgroup auto141DBA84_g;
+ int auto141DBA84_u;
+
// Variable Initialization
lv_cloakedEnemyGroup12 = UnitGroupEmpty();
@@ -1384,9 +1435,10 @@ void gf_AIOracle (int lp_owner, unit lp_oracle, unitgroup lp_nearbyUnits) {
if ((UnitAbilityCheck(lp_oracle, "OracleRevelationV2", true) == true) && (UnitCheckAbilCmdState(lp_oracle, AbilityCommand("OracleRevelationV2", 0), c_cmdStateCooldown) == false)) {
lv_victim = UnitGroupRandomUnit(lv_cloakedEnemyGroup12, c_unitCountAlive);
auto141DBA84_g = lv_cloakedEnemyGroup12;
- auto141DBA84_u = 1;
- for ( ; auto141DBA84_u <= UnitGroupCount(auto141DBA84_g, c_unitCountAll) ; auto141DBA84_u += BoolToInt(lv_currentUnit == UnitGroupUnit(auto141DBA84_g, auto141DBA84_u)) ) {
- lv_currentUnit = UnitGroupUnit(auto141DBA84_g, auto141DBA84_u);
+ auto141DBA84_u = UnitGroupCount(auto141DBA84_g, c_unitCountAll);
+ for (;; auto141DBA84_u -= 1) {
+ lv_currentUnit = UnitGroupUnitFromEnd(auto141DBA84_g, auto141DBA84_u);
+ if (lv_currentUnit == null) { break; }
if ((UnitGetPropertyFixed(lv_currentUnit, c_unitPropLife, c_unitPropCurrent) >= 200.0) && (libNtve_gf_UnitIsVisibleToPlayer(lv_currentUnit, gv_pLAYER_02_PROTOSS_BULLIES) == false)) {
lv_victim = lv_currentUnit;
break;
@@ -1401,27 +1453,28 @@ void gf_AIOracle (int lp_owner, unit lp_oracle, unitgroup lp_nearbyUnits) {
}
unitgroup gf_EnemiesWithinRange (unit lp_unit, fixed lp_range, unitfilter lp_filter) {
+ // Automatic Variable Declarations
// Implementation
return UnitGroupAlliance(UnitGetOwner(lp_unit), c_unitAllianceEnemy, RegionCircle(UnitGetPosition(lp_unit), lp_range), lp_filter, 0);
}
void gf_RunInfestedRageWaves (int lp_terrazineTankIndex) {
- int auto84CD3957_ae;
- int auto84CD3957_ai;
- int auto63856149_val;
- int auto1F527A4B_val;
-
// Variable Declarations
int lv_terrazineTankIter;
int lv_terrazineTankWorkingOrExhaustedCount;
+ // Automatic Variable Declarations
+ int auto84CD3957_ae;
+ const int auto84CD3957_ai = 1;
+ int auto63856149_val;
+ int auto1F527A4B_val;
+
// Variable Initialization
// Implementation
auto84CD3957_ae = gv_terrazineTankLocationsCount;
- auto84CD3957_ai = 1;
lv_terrazineTankIter = 1;
- for ( ; ( (auto84CD3957_ai >= 0 && lv_terrazineTankIter <= auto84CD3957_ae) || (auto84CD3957_ai <= 0 && lv_terrazineTankIter >= auto84CD3957_ae) ) ; lv_terrazineTankIter += auto84CD3957_ai ) {
+ for ( ; ( (auto84CD3957_ai >= 0 && lv_terrazineTankIter <= auto84CD3957_ae) || (auto84CD3957_ai < 0 && lv_terrazineTankIter >= auto84CD3957_ae) ) ; lv_terrazineTankIter += auto84CD3957_ai ) {
if (((gv_terrazineTankLocations[lv_terrazineTankIter].lv_state == ge_PRESETTerrazineTankState_Working) || (gv_terrazineTankLocations[lv_terrazineTankIter].lv_state == ge_PRESETTerrazineTankState_Exhausted))) {
lv_terrazineTankWorkingOrExhaustedCount += 1;
}
@@ -1494,15 +1547,16 @@ void gf_InfestedRageWavesFirst (int lp_terrazineTankIndex) {
bool auto_gf_InfestedRageWavesFirst_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_InfestedRageWavesFirst_lp_terrazineTankIndex;
- int autoBC94B77C_n;
- int autoBC94B77C_i;
- int auto10D25486_n;
- int auto10D25486_i;
-
// Variable Declarations
region lv_spawnRegion01;
region lv_spawnRegion02;
+ // Automatic Variable Declarations
+ const int autoBC94B77C_n = 5;
+ int autoBC94B77C_i;
+ const int auto10D25486_n = 6;
+ int auto10D25486_i;
+
// Variable Initialization
// Implementation
@@ -1515,7 +1569,6 @@ bool auto_gf_InfestedRageWavesFirst_TriggerFunc (bool testConds, bool runActions
lv_spawnRegion02 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 02"));
}
Wait(5.0, c_timeAI);
- autoBC94B77C_n = 5;
for (autoBC94B77C_i = 1; autoBC94B77C_i <= autoBC94B77C_n; autoBC94B77C_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, 3, 0, libLotv_gf_DifficultyValueInt2(0, 0, 1, 2), 0, 0);
@@ -1524,7 +1577,6 @@ bool auto_gf_InfestedRageWavesFirst_TriggerFunc (bool testConds, bool runActions
}
}
- auto10D25486_n = 6;
for (auto10D25486_i = 1; auto10D25486_i <= auto10D25486_n; auto10D25486_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(3, 3, 5, 7), 0, libLotv_gf_DifficultyValueInt2(1, 1, 2, 2), 0, 0);
@@ -1552,15 +1604,16 @@ void gf_InfestedRageWavesEarly (int lp_terrazineTankIndex) {
bool auto_gf_InfestedRageWavesEarly_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_InfestedRageWavesEarly_lp_terrazineTankIndex;
- int auto48C2BDE9_n;
- int auto48C2BDE9_i;
- int auto246363A6_n;
- int auto246363A6_i;
-
// Variable Declarations
region lv_spawnRegion01;
region lv_spawnRegion02;
+ // Automatic Variable Declarations
+ const int auto48C2BDE9_n = 5;
+ int auto48C2BDE9_i;
+ const int auto246363A6_n = 5;
+ int auto246363A6_i;
+
// Variable Initialization
// Implementation
@@ -1572,7 +1625,6 @@ bool auto_gf_InfestedRageWavesEarly_TriggerFunc (bool testConds, bool runActions
lv_spawnRegion01 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 01"));
lv_spawnRegion02 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 02"));
}
- auto48C2BDE9_n = 5;
for (auto48C2BDE9_i = 1; auto48C2BDE9_i <= auto48C2BDE9_n; auto48C2BDE9_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(4, 4, 5, 6), 0, libLotv_gf_DifficultyValueInt2(1, 1, 2, 3), 0, 0);
@@ -1581,7 +1633,6 @@ bool auto_gf_InfestedRageWavesEarly_TriggerFunc (bool testConds, bool runActions
}
}
- auto246363A6_n = 5;
for (auto246363A6_i = 1; auto246363A6_i <= auto246363A6_n; auto246363A6_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(4, 4, 5, 6), libLotv_gf_DifficultyValueInt2(1, 1, 1, 2), libLotv_gf_DifficultyValueInt2(1, 1, 2, 2), 0, 0);
@@ -1609,15 +1660,16 @@ void gf_InfestedRageWavesMid (int lp_terrazineTankIndex) {
bool auto_gf_InfestedRageWavesMid_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_InfestedRageWavesMid_lp_terrazineTankIndex;
- int autoA06F3702_n;
- int autoA06F3702_i;
- int auto0F030009_n;
- int auto0F030009_i;
-
// Variable Declarations
region lv_spawnRegion01;
region lv_spawnRegion02;
+ // Automatic Variable Declarations
+ const int autoA06F3702_n = 5;
+ int autoA06F3702_i;
+ const int auto0F030009_n = 5;
+ int auto0F030009_i;
+
// Variable Initialization
// Implementation
@@ -1629,7 +1681,6 @@ bool auto_gf_InfestedRageWavesMid_TriggerFunc (bool testConds, bool runActions)
lv_spawnRegion01 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 01"));
lv_spawnRegion02 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 02"));
}
- autoA06F3702_n = 5;
for (autoA06F3702_i = 1; autoA06F3702_i <= autoA06F3702_n; autoA06F3702_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(4, 4, 5, 6), 2, libLotv_gf_DifficultyValueInt2(0, 0, 1, 2), libLotv_gf_DifficultyValueInt2(0, 0, 0, 1), 0);
@@ -1638,7 +1689,6 @@ bool auto_gf_InfestedRageWavesMid_TriggerFunc (bool testConds, bool runActions)
}
}
- auto0F030009_n = 5;
for (auto0F030009_i = 1; auto0F030009_i <= auto0F030009_n; auto0F030009_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(4, 4, 5, 6), libLotv_gf_DifficultyValueInt2(2, 2, 3, 3), libLotv_gf_DifficultyValueInt2(0, 0, 1, 2), libLotv_gf_DifficultyValueInt2(0, 0, 1, 2), 0);
@@ -1666,15 +1716,16 @@ void gf_InfestedRageWavesLate (int lp_terrazineTankIndex) {
bool auto_gf_InfestedRageWavesLate_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_InfestedRageWavesLate_lp_terrazineTankIndex;
- int auto78D8C335_n;
- int auto78D8C335_i;
- int auto4DBD467D_n;
- int auto4DBD467D_i;
-
// Variable Declarations
region lv_spawnRegion01;
region lv_spawnRegion02;
+ // Automatic Variable Declarations
+ const int auto78D8C335_n = 5;
+ int auto78D8C335_i;
+ const int auto4DBD467D_n = 5;
+ int auto4DBD467D_i;
+
// Variable Initialization
// Implementation
@@ -1686,7 +1737,6 @@ bool auto_gf_InfestedRageWavesLate_TriggerFunc (bool testConds, bool runActions)
lv_spawnRegion01 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 01"));
lv_spawnRegion02 = RegionFromName(("Terrazine Waves " + IntToString(lp_terrazineTankIndex) + " - 02"));
}
- auto78D8C335_n = 5;
for (auto78D8C335_i = 1; auto78D8C335_i <= auto78D8C335_n; auto78D8C335_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(4, 4, 5, 6), libLotv_gf_DifficultyValueInt2(2, 2, 3, 3), libLotv_gf_DifficultyValueInt2(1, 1, 1, 2), libLotv_gf_DifficultyValueInt2(0, 0, 1, 1), 0);
@@ -1695,7 +1745,6 @@ bool auto_gf_InfestedRageWavesLate_TriggerFunc (bool testConds, bool runActions)
}
}
- auto4DBD467D_n = 5;
for (auto4DBD467D_i = 1; auto4DBD467D_i <= auto4DBD467D_n; auto4DBD467D_i += 1) {
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
gf_SendInfestedRageWave(lp_terrazineTankIndex, lv_spawnRegion01, true, libLotv_gf_DifficultyValueInt2(4, 4, 5, 6), libLotv_gf_DifficultyValueInt2(2, 2, 3, 3), libLotv_gf_DifficultyValueInt2(0, 0, 1, 2), libLotv_gf_DifficultyValueInt2(1, 1, 1, 2), libLotv_gf_DifficultyValueInt2(0, 0, 1, 1));
@@ -1708,6 +1757,7 @@ bool auto_gf_InfestedRageWavesLate_TriggerFunc (bool testConds, bool runActions)
}
void gf_SendInfestedRageWave (int lp_terrazineTankIndex, region lp_spawnRegion, bool lp_waveStartsBurrowed, int lp_infestedTerranCount, int lp_infestedExploderCount, int lp_infestedMarineCount, int lp_aberrationCount, int lp_infestedBansheeCount) {
+ // Automatic Variable Declarations
// Implementation
AIAttackWaveSetTargetUnit(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit);
AIAttackWaveSetGatherPoint(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionGetCenter(lp_spawnRegion));
@@ -1729,6 +1779,7 @@ void gf_SendInfestedRageWave (int lp_terrazineTankIndex, region lp_spawnRegion,
}
void gf_AddInfestedUnitsToRageWave (int lp_terrazineTankIndex, string lp_infestedUnitType, int lp_count, region lp_spawnRegion) {
+ // Automatic Variable Declarations
int auto07296E11_n;
int auto07296E11_i;
@@ -1762,6 +1813,7 @@ void gf_BurrowAndRemoveInfestedWaveUnit (unit lp_infestedUnit) {
bool auto_gf_BurrowAndRemoveInfestedWaveUnit_TriggerFunc (bool testConds, bool runActions) {
unit lp_infestedUnit = auto_gf_BurrowAndRemoveInfestedWaveUnit_lp_infestedUnit;
+ // Automatic Variable Declarations
// Implementation
AIRemoveUnitFromAnyWaves(lp_infestedUnit);
Wait(RandomFixed(2.0, 5.0), c_timeAI);
@@ -1800,6 +1852,7 @@ bool auto_gf_SpecialRageWaveJustMoreDudes_TriggerFunc (bool testConds, bool runA
region lv_spawnRegion01;
region lv_spawnRegion02;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1848,6 +1901,7 @@ bool auto_gf_SpecialRageWaveExploders_TriggerFunc (bool testConds, bool runActio
// Variable Declarations
region lv_spawnRegion;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -1891,6 +1945,7 @@ void gf_SpecialRageWaveEggPoppers (int lp_terrazineTankIndex) {
bool auto_gf_SpecialRageWaveEggPoppers_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_SpecialRageWaveEggPoppers_lp_terrazineTankIndex;
+ // Automatic Variable Declarations
// Implementation
Wait(37.0, c_timeAI);
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
@@ -1964,6 +2019,7 @@ bool auto_gf_GrowAndHatchEggCluster_TriggerFunc (bool testConds, bool runActions
doodad lp_eggClusterDoodad = auto_gf_GrowAndHatchEggCluster_lp_eggClusterDoodad;
point lp_eggClusterPoint = auto_gf_GrowAndHatchEggCluster_lp_eggClusterPoint;
+ // Automatic Variable Declarations
// Implementation
SoundPlayAtPointForPlayer(SoundLink("Doodad_ZerusChrysalisEgg_StandMorphStart", -1), c_maxPlayers, PlayerGroupAll(), lp_eggClusterPoint, 0.0, 100.0, 0.0);
ActorSend(ActorFromDoodad(lp_eggClusterDoodad), "AnimClear StandUnpowered");
@@ -1975,6 +2031,7 @@ bool auto_gf_GrowAndHatchEggCluster_TriggerFunc (bool testConds, bool runActions
}
void gf_SendInfestedEggPopperWave (int lp_terrazineTankIndex, point lp_launchPoint, int lp_infestedTerranCount, int lp_infestedExploderCount, int lp_infestedMarineCount, int lp_aberrationCount, int lp_infestedBansheeCount) {
+ // Automatic Variable Declarations
// Implementation
AIAttackWaveSetTargetUnit(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit);
AIAttackWaveSetGatherPoint(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, lp_launchPoint);
@@ -1987,14 +2044,15 @@ void gf_SendInfestedEggPopperWave (int lp_terrazineTankIndex, point lp_launchPoi
}
void gf_AddInfestedUnitsToEggPopperWave (int lp_terrazineTankIndex, string lp_infestedUnitType, int lp_count, point lp_launchPoint) {
+ // Variable Declarations
+ point lv_impactPoint;
+
+ // Automatic Variable Declarations
int auto4577369B_n;
int auto4577369B_i;
- int auto9FFDE875_n;
+ const int auto9FFDE875_n = 50;
int auto9FFDE875_i;
- // Variable Declarations
- point lv_impactPoint;
-
// Variable Initialization
// Implementation
@@ -2003,7 +2061,6 @@ void gf_AddInfestedUnitsToEggPopperWave (int lp_terrazineTankIndex, string lp_in
libNtve_gf_CreateUnitsWithDefaultFacing(1, lp_infestedUnitType, c_unitCreateIgnorePlacement, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionRandomPoint(RegionCircle(lp_launchPoint, 1.0)));
UnitGroupAdd(gv_infestedRageWaveUnits, UnitLastCreated());
lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
- auto9FFDE875_n = 50;
for (auto9FFDE875_i = 1; auto9FFDE875_i <= auto9FFDE875_n; auto9FFDE875_i += 1) {
if (((PointPathingPassable(lv_impactPoint) == false) || (PointPathingCliffLevel(lp_launchPoint) != PointPathingCliffLevel(lv_impactPoint)))) {
lv_impactPoint = RegionRandomPoint(RegionCircle(lp_launchPoint, 3.5));
@@ -2043,6 +2100,7 @@ bool auto_gf_SpecialRageWavesColonyShipExplodes_TriggerFunc (bool testConds, boo
region lv_spawnRegion;
unit lv_spawnColonyShip;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -2085,6 +2143,7 @@ void gf_SpecialRageWavesSiegeTanks (int lp_terrazineTankIndex) {
bool auto_gf_SpecialRageWavesSiegeTanks_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_SpecialRageWavesSiegeTanks_lp_terrazineTankIndex;
+ // Automatic Variable Declarations
// Implementation
Wait(30.0, c_timeAI);
if ((gv_terrazineTankLocations[lp_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
@@ -2178,6 +2237,7 @@ bool auto_gf_UnloadInfestedSiegeTankFromOverlord_TriggerFunc (bool testConds, bo
unit lv_overlord;
unit lv_infestedSiegeTank;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -2223,6 +2283,11 @@ bool auto_gf_SpecialRageWavesNydusWorms_TriggerFunc (bool testConds, bool runAct
unit lv_nydus02;
unit lv_nydus03;
+ // Automatic Variable Declarations
+ unitgroup autoCE3A545B_g;
+ int autoCE3A545B_u;
+ unit autoCE3A545B_var;
+
// Variable Initialization
// Implementation
@@ -2291,14 +2356,16 @@ bool auto_gf_SpecialRageWavesNydusWorms_TriggerFunc (bool testConds, bool runAct
gf_UnloadUnitsFromNydusWorm(libLotv_gf_DifficultyValueInt2(0, 0, 0, 1), "Hydralisk", lv_nydus02, RegionGetCenter(RegionFromId(64)), gv_pLAYER_08_ZERG, 2);
gf_UnloadUnitsFromNydusWorm(libLotv_gf_DifficultyValueInt2(0, 0, 4, 2), "Zergling", lv_nydus03, RegionGetCenter(RegionFromId(64)), gv_pLAYER_08_ZERG, 8);
gf_UnloadUnitsFromNydusWorm(libLotv_gf_DifficultyValueInt2(0, 0, 0, 1), "Hydralisk", lv_nydus03, RegionGetCenter(RegionFromId(64)), gv_pLAYER_08_ZERG, 2);
- UnitGroupLoopBegin(gv_nydusUnloadedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ autoCE3A545B_g = gv_nydusUnloadedUnits;
+ autoCE3A545B_u = UnitGroupCount(autoCE3A545B_g, c_unitCountAll);
+ for (;; autoCE3A545B_u -= 1) {
+ autoCE3A545B_var = UnitGroupUnitFromEnd(autoCE3A545B_g, autoCE3A545B_u);
+ if (autoCE3A545B_var == null) { break; }
if ((RandomInt(1, 8) == 1)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(64))), c_orderQueueReplace);
+ UnitIssueOrder(autoCE3A545B_var, OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(RegionFromId(64))), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
Wait(4.0, c_timeAI);
}
}
@@ -2337,19 +2404,19 @@ bool auto_gf_UnloadUnitsFromNydusWorm_TriggerFunc (bool testConds, bool runActio
int lp_player = auto_gf_UnloadUnitsFromNydusWorm_lp_player;
int lp_maxCount = auto_gf_UnloadUnitsFromNydusWorm_lp_maxCount;
- int auto0EB86770_ae;
- int auto0EB86770_ai;
-
// Variable Declarations
int lv_i;
+ // Automatic Variable Declarations
+ int auto0EB86770_ae;
+ const int auto0EB86770_ai = 1;
+
// Variable Initialization
// Implementation
auto0EB86770_ae = lp_count;
- auto0EB86770_ai = 1;
lv_i = 1;
- for ( ; ( (auto0EB86770_ai >= 0 && lv_i <= auto0EB86770_ae) || (auto0EB86770_ai <= 0 && lv_i >= auto0EB86770_ae) ) ; lv_i += auto0EB86770_ai ) {
+ for ( ; ( (auto0EB86770_ai >= 0 && lv_i <= auto0EB86770_ae) || (auto0EB86770_ai < 0 && lv_i >= auto0EB86770_ae) ) ; lv_i += auto0EB86770_ai ) {
if ((UnitIsAlive(lp_nydusWorm) == true) && (libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (UnitGroupCount(UnitGroupFilter(lp_unitType, c_playerAny, gv_nydusUnloadedUnits, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < lp_maxCount)) {
SoundPlayAtPointForPlayer(SoundLink("NydusWorm_Unload", -1), c_maxPlayers, PlayerGroupAll(), UnitGetPosition(lp_nydusWorm), 0.0, 100.0, 0.0);
libNtve_gf_SendActorMessageToUnit(lp_nydusWorm, "AnimPlay Spell Spell");
@@ -2382,6 +2449,7 @@ bool auto_gf_SpecialRageWavesFlyers_TriggerFunc (bool testConds, bool runActions
// Variable Declarations
region lv_spawnRegion;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -2446,6 +2514,10 @@ bool auto_gf_SendInfestedRageWaveFlyers_TriggerFunc (bool testConds, bool runAct
int lp_guardianCount = auto_gf_SendInfestedRageWaveFlyers_lp_guardianCount;
int lp_corruptorCount = auto_gf_SendInfestedRageWaveFlyers_lp_corruptorCount;
+ // Variable Declarations
+ unitgroup lv_flyerUnits;
+
+ // Automatic Variable Declarations
int autoD1854113_n;
int autoD1854113_i;
int autoADEE4102_n;
@@ -2454,9 +2526,12 @@ bool auto_gf_SendInfestedRageWaveFlyers_TriggerFunc (bool testConds, bool runAct
int auto1DF713DA_i;
int autoC2F1ABD3_n;
int autoC2F1ABD3_i;
-
- // Variable Declarations
- unitgroup lv_flyerUnits;
+ unitgroup auto2F8EBA0F_g;
+ int auto2F8EBA0F_u;
+ unit auto2F8EBA0F_var;
+ unitgroup auto3D66AE73_g;
+ int auto3D66AE73_u;
+ unit auto3D66AE73_var;
// Variable Initialization
lv_flyerUnits = UnitGroupEmpty();
@@ -2483,23 +2558,27 @@ bool auto_gf_SendInfestedRageWaveFlyers_TriggerFunc (bool testConds, bool runAct
UnitGroupAdd(lv_flyerUnits, UnitLastCreated());
}
while ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (UnitGroupCount(lv_flyerUnits, c_unitCountAlive) > 0) && (UnitIsAlive(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit) == true)) {
- UnitGroupLoopBegin(lv_flyerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), UnitGetPosition(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit)), c_orderQueueReplace);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(AbilityCommand("attack", 0), gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit), c_orderQueueAddToEnd);
+ auto2F8EBA0F_g = lv_flyerUnits;
+ auto2F8EBA0F_u = UnitGroupCount(auto2F8EBA0F_g, c_unitCountAll);
+ for (;; auto2F8EBA0F_u -= 1) {
+ auto2F8EBA0F_var = UnitGroupUnitFromEnd(auto2F8EBA0F_g, auto2F8EBA0F_u);
+ if (auto2F8EBA0F_var == null) { break; }
+ UnitIssueOrder(auto2F8EBA0F_var, OrderTargetingPoint(AbilityCommand("attack", 0), UnitGetPosition(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit)), c_orderQueueReplace);
+ UnitIssueOrder(auto2F8EBA0F_var, OrderTargetingUnit(AbilityCommand("attack", 0), gv_terrazineTankLocations[lp_terrazineTankIndex].lv_terrazineTankUnit), c_orderQueueAddToEnd);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
}
while ((libNCMI_gf_GameIsOver() == false) && (libNCMI_gf_PlayerInCinematicModeCampaign() == false) && (UnitGroupCount(lv_flyerUnits, c_unitCountAlive) > 0)) {
- UnitGroupLoopBegin(lv_flyerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ auto3D66AE73_g = lv_flyerUnits;
+ auto3D66AE73_u = UnitGroupCount(auto3D66AE73_g, c_unitCountAll);
+ for (;; auto3D66AE73_u -= 1) {
+ auto3D66AE73_var = UnitGroupUnitFromEnd(auto3D66AE73_g, auto3D66AE73_u);
+ if (auto3D66AE73_var == null) { break; }
if ((RandomInt(1, 8) == 1)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_protossClaimerWaveTargetRegion)), c_orderQueueReplace);
+ UnitIssueOrder(auto3D66AE73_var, OrderTargetingPoint(AbilityCommand("attack", 0), RegionRandomPoint(gv_terrazineTankLocations[lp_terrazineTankIndex].lv_protossClaimerWaveTargetRegion)), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
}
return true;
@@ -2525,6 +2604,7 @@ bool auto_gf_DeployWarpPrismAndWarpInBaseAttacks_TriggerFunc (bool testConds, bo
unit lv_warpPrismUnit;
unitgroup lv_escortGroup;
+ // Automatic Variable Declarations
// Variable Initialization
lv_escortGroup = UnitGroupEmpty();
@@ -2596,13 +2676,14 @@ bool auto_gf_WarpPrismBaseAttackReinforcements_TriggerFunc (bool testConds, bool
string lp_warpUnitType = auto_gf_WarpPrismBaseAttackReinforcements_lp_warpUnitType;
int lp_warpUnitMaxCount = auto_gf_WarpPrismBaseAttackReinforcements_lp_warpUnitMaxCount;
+ // Variable Declarations
+ abilcmd lv_warpAbilCmd;
+
+ // Automatic Variable Declarations
string autoE99B5020_val;
int auto3ED4B61B_n;
int auto3ED4B61B_i;
- // Variable Declarations
- abilcmd lv_warpAbilCmd;
-
// Variable Initialization
// Implementation
@@ -2670,14 +2751,18 @@ void gf_RunProtossClaimerWave (int lp_claimerWaveSize) {
bool auto_gf_RunProtossClaimerWave_TriggerFunc (bool testConds, bool runActions) {
int lp_claimerWaveSize = auto_gf_RunProtossClaimerWave_lp_claimerWaveSize;
- int auto9485ABC2_val;
-
// Variable Declarations
unit lv_warpPrismUnit;
int lv_terrazineTankTargetIndex;
unitgroup lv_eligibleTargets;
timer lv_objectiveReminderTimer;
+ // Automatic Variable Declarations
+ int auto9485ABC2_val;
+ unitgroup auto0184EA48_g;
+ int auto0184EA48_u;
+ unit auto0184EA48_var;
+
// Variable Initialization
lv_eligibleTargets = UnitGroupEmpty();
lv_objectiveReminderTimer = TimerCreate();
@@ -2802,12 +2887,14 @@ bool auto_gf_RunProtossClaimerWave_TriggerFunc (bool testConds, bool runActions)
AISetGroupScriptControlled(gv_terrazineTankLocations[lv_terrazineTankTargetIndex].lv_protossClaimerWaveUnitGroup, true);
UnitGroupIssueOrder(gv_terrazineTankLocations[lv_terrazineTankTargetIndex].lv_protossClaimerWaveUnitGroup, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
Wait(5.0, c_timeAI);
- UnitGroupLoopBegin(gv_terrazineTankLocations[lv_terrazineTankTargetIndex].lv_protossClaimerWaveUnitGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_WarpOutProtossUnit(UnitGroupLoopCurrent());
+ auto0184EA48_g = gv_terrazineTankLocations[lv_terrazineTankTargetIndex].lv_protossClaimerWaveUnitGroup;
+ auto0184EA48_u = UnitGroupCount(auto0184EA48_g, c_unitCountAll);
+ for (;; auto0184EA48_u -= 1) {
+ auto0184EA48_var = UnitGroupUnitFromEnd(auto0184EA48_g, auto0184EA48_u);
+ if (auto0184EA48_var == null) { break; }
+ gf_WarpOutProtossUnit(auto0184EA48_var);
Wait(0.125, c_timeAI);
}
- UnitGroupLoopEnd();
}
else {
if ((gv_terrazineTankLocations[lv_terrazineTankTargetIndex].lv_state != ge_PRESETTerrazineTankState_Sealed)) {
@@ -2824,15 +2911,16 @@ bool auto_gf_RunProtossClaimerWave_TriggerFunc (bool testConds, bool runActions)
}
int gf_GetProtossClaimerWaveTarget () {
- int autoEC27C2D5_ae;
- int autoEC27C2D5_ai;
- int autoDA15607A_ae;
- int autoDA15607A_ai;
-
// Variable Declarations
int lv_sortOrderIndex;
int[13] lv_sortOrderArray;
+ // Automatic Variable Declarations
+ int autoEC27C2D5_ae;
+ const int autoEC27C2D5_ai = 1;
+ int autoDA15607A_ae;
+ const int autoDA15607A_ai = 1;
+
// Variable Initialization
// Implementation
@@ -2852,18 +2940,16 @@ int gf_GetProtossClaimerWaveTarget () {
gv_sortOrderIndexStarter = gv_sortOrderIndexStarter + 1;
}
autoEC27C2D5_ae = gv_terrazineTankLocationsCount;
- autoEC27C2D5_ai = 1;
lv_sortOrderIndex = gv_sortOrderIndexStarter;
- for ( ; ( (autoEC27C2D5_ai >= 0 && lv_sortOrderIndex <= autoEC27C2D5_ae) || (autoEC27C2D5_ai <= 0 && lv_sortOrderIndex >= autoEC27C2D5_ae) ) ; lv_sortOrderIndex += autoEC27C2D5_ai ) {
+ for ( ; ( (autoEC27C2D5_ai >= 0 && lv_sortOrderIndex <= autoEC27C2D5_ae) || (autoEC27C2D5_ai < 0 && lv_sortOrderIndex >= autoEC27C2D5_ae) ) ; lv_sortOrderIndex += autoEC27C2D5_ai ) {
if ((gv_terrazineTankLocations[lv_sortOrderArray[lv_sortOrderIndex]].lv_state == ge_PRESETTerrazineTankState_Available) && (UnitGroupCount(UnitGroup(null, gv_pLAYER_01_USER, RegionCircle(gv_terrazineTankLocations[lv_sortOrderArray[lv_sortOrderIndex]].lv_terrazineTankPoint, 10.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1), c_unitCountAlive) == 0)) {
return lv_sortOrderArray[lv_sortOrderIndex];
}
}
autoDA15607A_ae = gv_terrazineTankLocationsCount;
- autoDA15607A_ai = 1;
lv_sortOrderIndex = 1;
- for ( ; ( (autoDA15607A_ai >= 0 && lv_sortOrderIndex <= autoDA15607A_ae) || (autoDA15607A_ai <= 0 && lv_sortOrderIndex >= autoDA15607A_ae) ) ; lv_sortOrderIndex += autoDA15607A_ai ) {
+ for ( ; ( (autoDA15607A_ai >= 0 && lv_sortOrderIndex <= autoDA15607A_ae) || (autoDA15607A_ai < 0 && lv_sortOrderIndex >= autoDA15607A_ae) ) ; lv_sortOrderIndex += autoDA15607A_ai ) {
if ((gv_terrazineTankLocations[lv_sortOrderArray[lv_sortOrderIndex]].lv_state == ge_PRESETTerrazineTankState_Available)) {
return lv_sortOrderArray[lv_sortOrderIndex];
}
@@ -2880,6 +2966,11 @@ void gf_TrackClaimerAttackRoute (unitgroup lp_inTransitUnitGroup, text lp_pingTo
int lv_trackedPing;
point lv_trackedPingPoint;
+ // Automatic Variable Declarations
+ unitgroup auto61EECEDA_g;
+ int auto61EECEDA_u;
+ unit auto61EECEDA_var;
+
// Variable Initialization
lv_trackedUnitGroup = UnitGroupEmpty();
lv_trackedPing = c_invalidPingId;
@@ -2912,11 +3003,13 @@ void gf_TrackClaimerAttackRoute (unitgroup lp_inTransitUnitGroup, text lp_pingTo
if ((UnitGroupCount(lv_trackedUnitGroup, c_unitCountAlive) > UnitGroupCount(UnitGroupFilter("Observer", c_playerAny, lv_trackedUnitGroup, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive))) {
gf_ProtossClaimerWaveReachesTargetQ(lp_terrazineTankIndex);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, gv_terrazineTankLocations[lp_terrazineTankIndex].lv_protossClaimerWaveTargetRegion, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetOwner(UnitGroupLoopCurrent(), gv_pLAYER_05_INFESTED_FIGHTPROTOSS, true);
+ auto61EECEDA_g = UnitGroup(null, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, gv_terrazineTankLocations[lp_terrazineTankIndex].lv_protossClaimerWaveTargetRegion, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto61EECEDA_u = UnitGroupCount(auto61EECEDA_g, c_unitCountAll);
+ for (;; auto61EECEDA_u -= 1) {
+ auto61EECEDA_var = UnitGroupUnitFromEnd(auto61EECEDA_g, auto61EECEDA_u);
+ if (auto61EECEDA_var == null) { break; }
+ UnitSetOwner(auto61EECEDA_var, gv_pLAYER_05_INFESTED_FIGHTPROTOSS, true);
}
- UnitGroupLoopEnd();
gf_TrackClaimerWaveTargetPing(lp_terrazineTankIndex);
}
@@ -2944,6 +3037,7 @@ bool auto_gf_DrawClaimerAttackRoute_TriggerFunc (bool testConds, bool runActions
// Variable Declarations
unit lv_drawUnit;
+ // Automatic Variable Declarations
// Variable Initialization
// Implementation
@@ -2963,6 +3057,7 @@ bool auto_gf_DrawClaimerAttackRoute_TriggerFunc (bool testConds, bool runActions
}
void gf_TrackClaimerWaveTargetPing (int lp_claimerWaveTargetIndex) {
+ // Automatic Variable Declarations
// Implementation
libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingWarning", UnitGetPosition(gv_terrazineTankLocations[lp_claimerWaveTargetIndex].lv_terrazineTankUnit), ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 0.0, 270.0);
PingSetTooltip(PingLastCreated(), StringExternal("Param/Value/25E8E89F"));
@@ -2989,6 +3084,7 @@ void gf_WarpOutProtossUnit (unit lp_warpingUnit) {
bool auto_gf_WarpOutProtossUnit_TriggerFunc (bool testConds, bool runActions) {
unit lp_warpingUnit = auto_gf_WarpOutProtossUnit_lp_warpingUnit;
+ // Automatic Variable Declarations
// Implementation
UnitBehaviorAdd(lp_warpingUnit, "ProtossGenericWarpInOut", lp_warpingUnit, 1);
libNtve_gf_SendActorMessageToUnit(lp_warpingUnit, "SetOpacity 0.000000 4.500000");
@@ -3022,13 +3118,14 @@ bool auto_gf_WarpPrismClaimerReinforcements_TriggerFunc (bool testConds, bool ru
int lp_warpUnitMaxCount = auto_gf_WarpPrismClaimerReinforcements_lp_warpUnitMaxCount;
int lp_terrazineTankIndex = auto_gf_WarpPrismClaimerReinforcements_lp_terrazineTankIndex;
+ // Variable Declarations
+ abilcmd lv_warpAbilCmd;
+
+ // Automatic Variable Declarations
string autoB02F5C7C_val;
int autoC395BA85_n;
int autoC395BA85_i;
- // Variable Declarations
- abilcmd lv_warpAbilCmd;
-
// Variable Initialization
// Implementation
@@ -3105,6 +3202,7 @@ void gf_ProtossClaimerWaveReachesTargetQ (int lp_terrazineTankIndex) {
bool auto_gf_ProtossClaimerWaveReachesTargetQ_TriggerFunc (bool testConds, bool runActions) {
int lp_terrazineTankIndex = auto_gf_ProtossClaimerWaveReachesTargetQ_lp_terrazineTankIndex;
+ // Automatic Variable Declarations
int autoEAAD7DBC_val;
// Implementation
@@ -3146,6 +3244,7 @@ bool auto_gf_ProtossClaimerWaveReachesTargetQ_TriggerFunc (bool testConds, bool
// Trigger: Initialization
//--------------------------------------------------------------------------------------------------
bool gt_Initialization_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3180,6 +3279,7 @@ void gt_Initialization_Init () {
// Trigger: Init 01 Technology
//--------------------------------------------------------------------------------------------------
bool gt_Init01Technology_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3205,6 +3305,16 @@ void gt_Init01Technology_Init () {
// Trigger: Init 02 Players
//--------------------------------------------------------------------------------------------------
bool gt_Init02Players_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto5A28068E_g;
+ int auto5A28068E_var;
+ playergroup autoF04F56FE_g;
+ int autoF04F56FE_var;
+ playergroup autoAEA6D7E6_g;
+ int autoAEA6D7E6_var;
+ playergroup auto5ABBD8E5_g;
+ int auto5ABBD8E5_var;
+
// Actions
if (!runActions) {
return true;
@@ -3227,53 +3337,61 @@ bool gt_Init02Players_Func (bool testConds, bool runActions) {
libNtve_gf_SetAlliance(gv_pLAYER_06_TERRAZINE, gv_pLAYER_10_TERRAZINETARGET, libNtve_ge_AllianceSetting_Ally);
libNtve_gf_SetAlliance(gv_pLAYER_07_COLONISTS, gv_pLAYER_09_ERADICATOR, libNtve_ge_AllianceSetting_Neutral);
libNtve_gf_SetAlliance(gv_pLAYER_07_COLONISTS, gv_pLAYER_10_TERRAZINETARGET, libNtve_ge_AllianceSetting_Neutral);
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_01_USER, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_02_PROTOSS_BULLIES, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_04_PROTOSS_WAVES, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_05_INFESTED_FIGHTPROTOSS, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_06_TERRAZINE, libNtve_ge_AllianceSetting_Ally);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_07_COLONISTS, libNtve_ge_AllianceSetting_Neutral);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_08_ZERG, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_09_ERADICATOR, libNtve_ge_AllianceSetting_Neutral);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_10_TERRAZINETARGET, libNtve_ge_AllianceSetting_Enemy);
- PlayerSetColorIndex(PlayerGroupLoopCurrent(), 6, true);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_02_PROTOSS_BULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_04_PROTOSS_WAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_05_INFESTED_FIGHTPROTOSS, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_06_TERRAZINE, libNtve_ge_AllianceSetting_Neutral);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_07_COLONISTS, libNtve_ge_AllianceSetting_Enemy);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_09_ERADICATOR, libNtve_ge_AllianceSetting_Neutral);
- libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), gv_pLAYER_10_TERRAZINETARGET, libNtve_ge_AllianceSetting_Enemy);
- PlayerSetColorIndex(PlayerGroupLoopCurrent(), 1, true);
- }
- PlayerGroupLoopEnd();
+ auto5A28068E_g = gv_zergPlayerGroup;
+ auto5A28068E_var = -1;
+ while (true) {
+ auto5A28068E_var = PlayerGroupNextPlayer(auto5A28068E_g, auto5A28068E_var);
+ if (auto5A28068E_var < 0) { break; }
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_01_USER, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_02_PROTOSS_BULLIES, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_04_PROTOSS_WAVES, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_05_INFESTED_FIGHTPROTOSS, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_06_TERRAZINE, libNtve_ge_AllianceSetting_Ally);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_07_COLONISTS, libNtve_ge_AllianceSetting_Neutral);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_08_ZERG, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_09_ERADICATOR, libNtve_ge_AllianceSetting_Neutral);
+ libNtve_gf_SetAlliance(auto5A28068E_var, gv_pLAYER_10_TERRAZINETARGET, libNtve_ge_AllianceSetting_Enemy);
+ PlayerSetColorIndex(auto5A28068E_var, 6, true);
+ }
+ autoF04F56FE_g = gv_taldarimPlayerGroup;
+ autoF04F56FE_var = -1;
+ while (true) {
+ autoF04F56FE_var = PlayerGroupNextPlayer(autoF04F56FE_g, autoF04F56FE_var);
+ if (autoF04F56FE_var < 0) { break; }
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_02_PROTOSS_BULLIES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_04_PROTOSS_WAVES, libNtve_ge_AllianceSetting_AllyWithSharedVision);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_05_INFESTED_FIGHTPROTOSS, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_06_TERRAZINE, libNtve_ge_AllianceSetting_Neutral);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_07_COLONISTS, libNtve_ge_AllianceSetting_Enemy);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_09_ERADICATOR, libNtve_ge_AllianceSetting_Neutral);
+ libNtve_gf_SetAlliance(autoF04F56FE_var, gv_pLAYER_10_TERRAZINETARGET, libNtve_ge_AllianceSetting_Enemy);
+ PlayerSetColorIndex(autoF04F56FE_var, 1, true);
+ }
libNtve_gf_SetAlliance(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, gv_pLAYER_02_PROTOSS_BULLIES, libNtve_ge_AllianceSetting_Neutral);
libNtve_gf_SetAlliance(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, gv_pLAYER_04_PROTOSS_WAVES, libNtve_ge_AllianceSetting_Neutral);
PlayerSetColorIndex(gv_pLAYER_09_ERADICATOR, 0, true);
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropMinerals, c_playerPropOperSetTo, 250);
PlayerModifyPropertyInt(gv_pLAYER_01_USER, c_playerPropVespene, c_playerPropOperSetTo, 200);
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateMineralCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateVespeneCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateFoodIgnored, true);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateMineralCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateVespeneCostIgnored, true);
- PlayerSetState(PlayerGroupLoopCurrent(), c_playerStateFoodIgnored, true);
- }
- PlayerGroupLoopEnd();
+ autoAEA6D7E6_g = gv_zergPlayerGroup;
+ autoAEA6D7E6_var = -1;
+ while (true) {
+ autoAEA6D7E6_var = PlayerGroupNextPlayer(autoAEA6D7E6_g, autoAEA6D7E6_var);
+ if (autoAEA6D7E6_var < 0) { break; }
+ PlayerSetState(autoAEA6D7E6_var, c_playerStateMineralCostIgnored, true);
+ PlayerSetState(autoAEA6D7E6_var, c_playerStateVespeneCostIgnored, true);
+ PlayerSetState(autoAEA6D7E6_var, c_playerStateFoodIgnored, true);
+ }
+ auto5ABBD8E5_g = gv_taldarimPlayerGroup;
+ auto5ABBD8E5_var = -1;
+ while (true) {
+ auto5ABBD8E5_var = PlayerGroupNextPlayer(auto5ABBD8E5_g, auto5ABBD8E5_var);
+ if (auto5ABBD8E5_var < 0) { break; }
+ PlayerSetState(auto5ABBD8E5_var, c_playerStateMineralCostIgnored, true);
+ PlayerSetState(auto5ABBD8E5_var, c_playerStateVespeneCostIgnored, true);
+ PlayerSetState(auto5ABBD8E5_var, c_playerStateFoodIgnored, true);
+ }
PlayerSetState(gv_pLAYER_02_PROTOSS_BULLIES, c_playerStateFidgetingEnabled, false);
PlayerSetState(gv_pLAYER_04_PROTOSS_WAVES, c_playerStateFidgetingEnabled, false);
libNCMI_gf_NM_DetectionUpgradesApply();
@@ -3289,6 +3407,44 @@ void gt_Init02Players_Init () {
// Trigger: Init 03 Units
//--------------------------------------------------------------------------------------------------
bool gt_Init03Units_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto0D61C4C8_g;
+ int auto0D61C4C8_u;
+ unit auto0D61C4C8_var;
+ unitgroup auto85E423CE_g;
+ int auto85E423CE_u;
+ unit auto85E423CE_var;
+ unitgroup auto71F4FFAB_g;
+ int auto71F4FFAB_u;
+ unit auto71F4FFAB_var;
+ unitgroup autoC386889F_g;
+ int autoC386889F_u;
+ unit autoC386889F_var;
+ unitgroup auto3043FF71_g;
+ int auto3043FF71_u;
+ unit auto3043FF71_var;
+ unitgroup auto63ED60AE_g;
+ int auto63ED60AE_u;
+ unit auto63ED60AE_var;
+ unitgroup auto4B109324_g;
+ int auto4B109324_u;
+ unit auto4B109324_var;
+ unitgroup auto4BFC89B0_g;
+ int auto4BFC89B0_u;
+ unit auto4BFC89B0_var;
+ unitgroup auto9E557A8C_g;
+ int auto9E557A8C_u;
+ unit auto9E557A8C_var;
+ unitgroup auto5EF66E23_g;
+ int auto5EF66E23_u;
+ unit auto5EF66E23_var;
+ unitgroup auto1BD26239_g;
+ int auto1BD26239_u;
+ unit auto1BD26239_var;
+ unitgroup autoDFFB1E2D_g;
+ int autoDFFB1E2D_u;
+ unit autoDFFB1E2D_var;
+
// Actions
if (!runActions) {
return true;
@@ -3303,83 +3459,105 @@ bool gt_Init03Units_Func (bool testConds, bool runActions) {
libNtve_gf_SendActorMessageToUnit(UnitFromId(862), "SetMinimapVisibility");
libNtve_gf_SendActorMessageToUnit(UnitFromId(863), "SetMinimapVisibility");
libNtve_gf_SendActorMessageToUnit(UnitFromId(865), "SetMinimapVisibility");
- UnitGroupLoopBegin(UnitGroup("PalletMinerals", 0, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 1.0);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("PalletGas", 0, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 1.0);
+ auto0D61C4C8_g = UnitGroup("PalletMinerals", 0, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto0D61C4C8_u = UnitGroupCount(auto0D61C4C8_g, c_unitCountAll);
+ for (;; auto0D61C4C8_u -= 1) {
+ auto0D61C4C8_var = UnitGroupUnitFromEnd(auto0D61C4C8_g, auto0D61C4C8_u);
+ if (auto0D61C4C8_var == null) { break; }
+ UnitSetCustomValue(auto0D61C4C8_var, 1, 1.0);
+ }
+ auto85E423CE_g = UnitGroup("PalletGas", 0, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto85E423CE_u = UnitGroupCount(auto85E423CE_g, c_unitCountAll);
+ for (;; auto85E423CE_u -= 1) {
+ auto85E423CE_var = UnitGroupUnitFromEnd(auto85E423CE_g, auto85E423CE_u);
+ if (auto85E423CE_var == null) { break; }
+ UnitSetCustomValue(auto85E423CE_var, 1, 1.0);
+ }
+ auto71F4FFAB_g = UnitGroup(null, gv_pLAYER_07_COLONISTS, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto71F4FFAB_u = UnitGroupCount(auto71F4FFAB_g, c_unitCountAll);
+ for (;; auto71F4FFAB_u -= 1) {
+ auto71F4FFAB_var = UnitGroupUnitFromEnd(auto71F4FFAB_g, auto71F4FFAB_u);
+ if (auto71F4FFAB_var == null) { break; }
+ if (((UnitGetType(auto71F4FFAB_var) == "JarbanColonistHut") || (UnitGetType(auto71F4FFAB_var) == "Excavator") || (UnitGetType(auto71F4FFAB_var) == "TankerTruck") || (UnitGetType(auto71F4FFAB_var) == "DumpTruck") || (UnitGetType(auto71F4FFAB_var) == "TruckFlatbedUnit"))) {
+ libNtve_gf_SendActorMessageToUnit(auto71F4FFAB_var, "SetMinimapVisibility");
+ UnitIssueOrder(auto71F4FFAB_var, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
+ }
+
+ }
+ autoC386889F_g = UnitGroup("InfestedColonistTransportNova", gv_pLAYER_07_COLONISTS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoC386889F_u = UnitGroupCount(autoC386889F_g, c_unitCountAll);
+ for (;; autoC386889F_u -= 1) {
+ autoC386889F_var = UnitGroupUnitFromEnd(autoC386889F_g, autoC386889F_u);
+ if (autoC386889F_var == null) { break; }
+ UnitIssueOrder(autoC386889F_var, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_07_COLONISTS, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "JarbanColonistHut") || (UnitGetType(UnitGroupLoopCurrent()) == "Excavator") || (UnitGetType(UnitGroupLoopCurrent()) == "TankerTruck") || (UnitGetType(UnitGroupLoopCurrent()) == "DumpTruck") || (UnitGetType(UnitGroupLoopCurrent()) == "TruckFlatbedUnit"))) {
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "SetMinimapVisibility");
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("move", 2)), c_orderQueueReplace);
- }
-
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("InfestedColonistTransportNova", gv_pLAYER_07_COLONISTS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("move", 2)), c_orderQueueReplace);
- }
- UnitGroupLoopEnd();
libNCMI_gf_SendActorMessageToDoodadsInRegion("AnimPlay StandUnpowered Stand,Unpowered PlayForever", "Zerg_EggSackOneEggs", RegionFromId(57));
libNCMI_gf_SendActorMessageToDoodadsInRegion("AnimPlay StandUnpowered Stand,Unpowered PlayForever", "Zerg_EggSackTwoEggs", RegionFromId(57));
libNCMI_gf_SendActorMessageToDoodadsInRegion("AnimPlay StandUnpowered Stand,Unpowered PlayForever", "Zerg_EggSackThreeEggs", RegionFromId(57));
libNCMI_gf_SendActorMessageToDoodadsInRegion("SetMinimapVisibility", "Zerg_EggSackOneEggs", RegionFromId(57));
libNCMI_gf_SendActorMessageToDoodadsInRegion("SetMinimapVisibility", "Zerg_EggSackTwoEggs", RegionFromId(57));
libNCMI_gf_SendActorMessageToDoodadsInRegion("SetMinimapVisibility", "Zerg_EggSackThreeEggs", RegionFromId(57));
- UnitGroupLoopBegin(UnitGroup("InfestedColonistShip", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 1.0);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateHighlightable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateSelectable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTargetable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateTooltipable, false);
- UnitSetState(UnitGroupLoopCurrent(), c_unitStateInvulnerable, true);
- libNtve_gf_SendActorMessageToUnit(UnitGroupLoopCurrent(), "SetMinimapVisibility");
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "InfestableBiodome") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestableColonistBiodome") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestableColonistHut") || (UnitGetType(UnitGroupLoopCurrent()) == "JarbanInfestibleColonistHut") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestableHut") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedArmory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBarracks") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedCC") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedEngBay") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedFactory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedMissileTurret") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedRefinery") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedStarport") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedSupply"))) {
- UnitBehaviorAddPlayer(UnitGroupLoopCurrent(), "ColonyInfestation", UnitGetOwner(UnitGroupLoopCurrent()), 1);
- }
-
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("InfestedBunker", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAddPlayer(UnitGroupLoopCurrent(), "ColonyInfestation", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 1);
- UnitCargoCreate(UnitGroupLoopCurrent(), "InfestedTerranCampaign", 4);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("NovaInfestedSiegeTankUprooted", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupAdd(gv_infestedSiegeTanks, UnitGroupLoopCurrent());
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("NovaInfestedSiegeTankUprooted", gv_pLAYER_05_INFESTED_FIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupAdd(gv_infestedSiegeTanks, UnitGroupLoopCurrent());
- AISetUnitScriptControlled(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("InfestedCivilianBurrowed", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAddPlayer(UnitGroupLoopCurrent(), "ScanRangeBonus", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 1);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("InfestedTerranCampaignBurrowed", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitBehaviorAddPlayer(UnitGroupLoopCurrent(), "ScanRangeBonus", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 1);
- }
- UnitGroupLoopEnd();
+ auto3043FF71_g = UnitGroup("InfestedColonistShip", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto3043FF71_u = UnitGroupCount(auto3043FF71_g, c_unitCountAll);
+ for (;; auto3043FF71_u -= 1) {
+ auto3043FF71_var = UnitGroupUnitFromEnd(auto3043FF71_g, auto3043FF71_u);
+ if (auto3043FF71_var == null) { break; }
+ UnitSetCustomValue(auto3043FF71_var, 1, 1.0);
+ UnitSetState(auto3043FF71_var, c_unitStateHighlightable, false);
+ UnitSetState(auto3043FF71_var, c_unitStateSelectable, false);
+ UnitSetState(auto3043FF71_var, c_unitStateTargetable, false);
+ UnitSetState(auto3043FF71_var, c_unitStateTooltipable, false);
+ UnitSetState(auto3043FF71_var, c_unitStateInvulnerable, true);
+ libNtve_gf_SendActorMessageToUnit(auto3043FF71_var, "SetMinimapVisibility");
+ }
+ auto63ED60AE_g = UnitGroup(null, c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto63ED60AE_u = UnitGroupCount(auto63ED60AE_g, c_unitCountAll);
+ for (;; auto63ED60AE_u -= 1) {
+ auto63ED60AE_var = UnitGroupUnitFromEnd(auto63ED60AE_g, auto63ED60AE_u);
+ if (auto63ED60AE_var == null) { break; }
+ if (((UnitGetType(auto63ED60AE_var) == "InfestableBiodome") || (UnitGetType(auto63ED60AE_var) == "InfestableColonistBiodome") || (UnitGetType(auto63ED60AE_var) == "InfestableColonistHut") || (UnitGetType(auto63ED60AE_var) == "JarbanInfestibleColonistHut") || (UnitGetType(auto63ED60AE_var) == "InfestableHut") || (UnitGetType(auto63ED60AE_var) == "InfestedArmory") || (UnitGetType(auto63ED60AE_var) == "InfestedBarracks") || (UnitGetType(auto63ED60AE_var) == "InfestedBunker") || (UnitGetType(auto63ED60AE_var) == "InfestedCC") || (UnitGetType(auto63ED60AE_var) == "InfestedEngBay") || (UnitGetType(auto63ED60AE_var) == "InfestedFactory") || (UnitGetType(auto63ED60AE_var) == "InfestedMissileTurret") || (UnitGetType(auto63ED60AE_var) == "InfestedRefinery") || (UnitGetType(auto63ED60AE_var) == "InfestedStarport") || (UnitGetType(auto63ED60AE_var) == "InfestedSupply"))) {
+ UnitBehaviorAddPlayer(auto63ED60AE_var, "ColonyInfestation", UnitGetOwner(auto63ED60AE_var), 1);
+ }
+
+ }
+ auto4B109324_g = UnitGroup("InfestedBunker", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto4B109324_u = UnitGroupCount(auto4B109324_g, c_unitCountAll);
+ for (;; auto4B109324_u -= 1) {
+ auto4B109324_var = UnitGroupUnitFromEnd(auto4B109324_g, auto4B109324_u);
+ if (auto4B109324_var == null) { break; }
+ UnitBehaviorAddPlayer(auto4B109324_var, "ColonyInfestation", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 1);
+ UnitCargoCreate(auto4B109324_var, "InfestedTerranCampaign", 4);
+ }
+ auto4BFC89B0_g = UnitGroup("NovaInfestedSiegeTankUprooted", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto4BFC89B0_u = UnitGroupCount(auto4BFC89B0_g, c_unitCountAll);
+ for (;; auto4BFC89B0_u -= 1) {
+ auto4BFC89B0_var = UnitGroupUnitFromEnd(auto4BFC89B0_g, auto4BFC89B0_u);
+ if (auto4BFC89B0_var == null) { break; }
+ UnitGroupAdd(gv_infestedSiegeTanks, auto4BFC89B0_var);
+ AISetUnitScriptControlled(auto4BFC89B0_var, true);
+ }
+ auto9E557A8C_g = UnitGroup("NovaInfestedSiegeTankUprooted", gv_pLAYER_05_INFESTED_FIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto9E557A8C_u = UnitGroupCount(auto9E557A8C_g, c_unitCountAll);
+ for (;; auto9E557A8C_u -= 1) {
+ auto9E557A8C_var = UnitGroupUnitFromEnd(auto9E557A8C_g, auto9E557A8C_u);
+ if (auto9E557A8C_var == null) { break; }
+ UnitGroupAdd(gv_infestedSiegeTanks, auto9E557A8C_var);
+ AISetUnitScriptControlled(auto9E557A8C_var, true);
+ }
+ auto5EF66E23_g = UnitGroup("InfestedCivilianBurrowed", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto5EF66E23_u = UnitGroupCount(auto5EF66E23_g, c_unitCountAll);
+ for (;; auto5EF66E23_u -= 1) {
+ auto5EF66E23_var = UnitGroupUnitFromEnd(auto5EF66E23_g, auto5EF66E23_u);
+ if (auto5EF66E23_var == null) { break; }
+ UnitBehaviorAddPlayer(auto5EF66E23_var, "ScanRangeBonus", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 1);
+ }
+ auto1BD26239_g = UnitGroup("InfestedTerranCampaignBurrowed", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto1BD26239_u = UnitGroupCount(auto1BD26239_g, c_unitCountAll);
+ for (;; auto1BD26239_u -= 1) {
+ auto1BD26239_var = UnitGroupUnitFromEnd(auto1BD26239_g, auto1BD26239_u);
+ if (auto1BD26239_var == null) { break; }
+ UnitBehaviorAddPlayer(auto1BD26239_var, "ScanRangeBonus", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 1);
+ }
libNtve_gf_ShowHideUnit(UnitFromId(369), false);
libNtve_gf_MakeUnitInvulnerable(UnitFromId(369), true);
libNtve_gf_ShowHideUnit(UnitFromId(1093), false);
@@ -3387,12 +3565,14 @@ bool gt_Init03Units_Func (bool testConds, bool runActions) {
AISetUnitScriptControlled(UnitFromId(1205), true);
UnitCargoCreate(UnitFromId(1208), "WarPig", 4);
UnitSetCustomValue(gv_bonusObjective_Blightbringer, 1, 1.0);
- UnitGroupLoopBegin(UnitGroup("InfestedCivilian", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitGroupAdd(gv_bonusObjective_HatchedInfestedGroup, UnitGroupLoopCurrent());
- UnitBehaviorAdd(UnitGroupLoopCurrent(), "CritterWanderLeashShort", UnitGroupLoopCurrent(), 1);
+ autoDFFB1E2D_g = UnitGroup("InfestedCivilian", gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoDFFB1E2D_u = UnitGroupCount(autoDFFB1E2D_g, c_unitCountAll);
+ for (;; autoDFFB1E2D_u -= 1) {
+ autoDFFB1E2D_var = UnitGroupUnitFromEnd(autoDFFB1E2D_g, autoDFFB1E2D_u);
+ if (autoDFFB1E2D_var == null) { break; }
+ UnitGroupAdd(gv_bonusObjective_HatchedInfestedGroup, autoDFFB1E2D_var);
+ UnitBehaviorAdd(autoDFFB1E2D_var, "CritterWanderLeashShort", autoDFFB1E2D_var, 1);
}
- UnitGroupLoopEnd();
UnitBehaviorRemove(UnitFromId(895), "Detector11", 1);
libNtve_gf_PauseUnit(UnitFromId(895), true);
UnitSetState(UnitFromId(895), c_unitStateHighlightable, false);
@@ -3431,6 +3611,7 @@ void gt_Init03Units_Init () {
// Trigger: Init 04 Music/Sound
//--------------------------------------------------------------------------------------------------
bool gt_Init04MusicSound_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3457,6 +3638,7 @@ void gt_Init04MusicSound_Init () {
// Trigger: Init 05 Environment
//--------------------------------------------------------------------------------------------------
bool gt_Init05Environment_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3485,6 +3667,15 @@ void gt_Init05Environment_Init () {
// Trigger: Init 06 Difficulties
//--------------------------------------------------------------------------------------------------
bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto95A5FABE_g;
+ int auto95A5FABE_u;
+ unit auto95A5FABE_var;
+ playergroup auto60B674C5_g;
+ int auto60B674C5_var;
+ playergroup auto851ADC83_g;
+ int auto851ADC83_var;
+
// Actions
if (!runActions) {
return true;
@@ -3499,52 +3690,58 @@ bool gt_Init06Difficulties_Func (bool testConds, bool runActions) {
TechTreeUpgradeAddLevel(gv_pLAYER_08_ZERG, "overlordtransport", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_02_PROTOSS_BULLIES, "ObserverGraviticBooster", 1);
TechTreeUpgradeAddLevel(gv_pLAYER_04_PROTOSS_WAVES, "ObserverGraviticBooster", 1);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if (((UnitGetType(UnitGroupLoopCurrent()) == "InfestableBiodome") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestableColonistBiodome") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestableColonistHut") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestableHut") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedArmory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBarracks") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedCC") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedEngBay") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedFactory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedMissileTurret") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedRefinery") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedStarport") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedSupply"))) {
+ auto95A5FABE_g = UnitGroup(null, c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto95A5FABE_u = UnitGroupCount(auto95A5FABE_g, c_unitCountAll);
+ for (;; auto95A5FABE_u -= 1) {
+ auto95A5FABE_var = UnitGroupUnitFromEnd(auto95A5FABE_g, auto95A5FABE_u);
+ if (auto95A5FABE_var == null) { break; }
+ if (((UnitGetType(auto95A5FABE_var) == "InfestableBiodome") || (UnitGetType(auto95A5FABE_var) == "InfestableColonistBiodome") || (UnitGetType(auto95A5FABE_var) == "InfestableColonistHut") || (UnitGetType(auto95A5FABE_var) == "InfestableHut") || (UnitGetType(auto95A5FABE_var) == "InfestedArmory") || (UnitGetType(auto95A5FABE_var) == "InfestedBarracks") || (UnitGetType(auto95A5FABE_var) == "InfestedBunker") || (UnitGetType(auto95A5FABE_var) == "InfestedCC") || (UnitGetType(auto95A5FABE_var) == "InfestedEngBay") || (UnitGetType(auto95A5FABE_var) == "InfestedFactory") || (UnitGetType(auto95A5FABE_var) == "InfestedMissileTurret") || (UnitGetType(auto95A5FABE_var) == "InfestedRefinery") || (UnitGetType(auto95A5FABE_var) == "InfestedStarport") || (UnitGetType(auto95A5FABE_var) == "InfestedSupply"))) {
if ((libLotv_gf_DifficultyValueInt2(1, 1, 0, 0) == 1)) {
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifeMax, (UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifeMax, c_unitPropCurrent) * 0.5));
+ UnitSetPropertyFixed(auto95A5FABE_var, c_unitPropLifeMax, (UnitGetPropertyFixed(auto95A5FABE_var, c_unitPropLifeMax, c_unitPropCurrent) * 0.5));
}
else {
- UnitSetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifeMax, (UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLifeMax, c_unitPropCurrent) * 0.75));
+ UnitSetPropertyFixed(auto95A5FABE_var, c_unitPropLifeMax, (UnitGetPropertyFixed(auto95A5FABE_var, c_unitPropLifeMax, c_unitPropCurrent) * 0.75));
}
}
}
- UnitGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
+ auto60B674C5_g = gv_zergPlayerGroup;
+ auto60B674C5_var = -1;
+ while (true) {
+ auto60B674C5_var = PlayerGroupNextPlayer(auto60B674C5_g, auto60B674C5_var);
+ if (auto60B674C5_var < 0) { break; }
if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1)) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "zerglingmovementspeed", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "hydraliskspeed", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "zerglingmovementspeed", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "hydraliskspeed", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "ZergMissileWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "ZergGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "ZergFlyerArmorsLevel1", 1);
}
if ((libLotv_gf_DifficultyValueInt2(0, 0, 0, 1) == 1)) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "zerglingattackspeed", 1);
- TechTreeAbilityAllow(PlayerGroupLoopCurrent(), AbilityCommand("FungalGrowth", 0), true);
+ TechTreeUpgradeAddLevel(auto60B674C5_var, "zerglingattackspeed", 1);
+ TechTreeAbilityAllow(auto60B674C5_var, AbilityCommand("FungalGrowth", 0), true);
}
else {
- TechTreeAbilityAllow(PlayerGroupLoopCurrent(), AbilityCommand("FungalGrowth", 0), false);
+ TechTreeAbilityAllow(auto60B674C5_var, AbilityCommand("FungalGrowth", 0), false);
}
}
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
+ auto851ADC83_g = gv_taldarimPlayerGroup;
+ auto851ADC83_var = -1;
+ while (true) {
+ auto851ADC83_var = PlayerGroupNextPlayer(auto851ADC83_g, auto851ADC83_var);
+ if (auto851ADC83_var < 0) { break; }
if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1)) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossGroundWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossAirWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossAirArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossShieldsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto851ADC83_var, "ProtossGroundWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto851ADC83_var, "ProtossAirWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto851ADC83_var, "ProtossGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto851ADC83_var, "ProtossAirArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto851ADC83_var, "ProtossShieldsLevel1", 1);
}
}
- PlayerGroupLoopEnd();
return true;
}
@@ -3557,6 +3754,7 @@ void gt_Init06Difficulties_Init () {
// Trigger: Init 07 Help
//--------------------------------------------------------------------------------------------------
bool gt_Init07Help_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -3612,6 +3810,7 @@ void gt_Init07Help_Init () {
// Trigger: Debug - Run Small Claim Wave
//--------------------------------------------------------------------------------------------------
bool gt_DebugRunSmallClaimWave_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -3655,6 +3854,7 @@ void gt_DebugRunSmallClaimWave_Init () {
// Trigger: Debug - Run Medium Claim Wave
//--------------------------------------------------------------------------------------------------
bool gt_DebugRunMediumClaimWave_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -3698,6 +3898,7 @@ void gt_DebugRunMediumClaimWave_Init () {
// Trigger: Debug - Run Large Claim Wave
//--------------------------------------------------------------------------------------------------
bool gt_DebugRunLargeClaimWave_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -3741,6 +3942,7 @@ void gt_DebugRunLargeClaimWave_Init () {
// Trigger: Debug - Run All Claim Waves
//--------------------------------------------------------------------------------------------------
bool gt_DebugRunAllClaimWaves_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -3804,6 +4006,7 @@ void gt_DebugRunAllClaimWaves_Init () {
// Trigger: Debug - Toggle AI Time Pause/Unpause
//--------------------------------------------------------------------------------------------------
bool gt_DebugToggleAITimePauseUnpause_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -3851,6 +4054,7 @@ void gt_DebugToggleAITimePauseUnpause_Init () {
// Trigger: Debug - Test Objective Completion
//--------------------------------------------------------------------------------------------------
bool gt_DebugTestObjectiveCompletion_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
@@ -3892,14 +4096,21 @@ void gt_DebugTestObjectiveCompletion_Init () {
// Trigger: Performance Handler
//--------------------------------------------------------------------------------------------------
bool gt_PerformanceHandler_Func (bool testConds, bool runActions) {
- int autoE7930946_ae;
- int autoE7930946_ai;
- int autoD90D5367_ae;
- int autoD90D5367_ai;
-
// Variable Declarations
int lv_index;
+ // Automatic Variable Declarations
+ int autoE7930946_ae;
+ const int autoE7930946_ai = 1;
+ unitgroup auto0BC6F894_g;
+ int auto0BC6F894_u;
+ unit auto0BC6F894_var;
+ int autoD90D5367_ae;
+ const int autoD90D5367_ai = 1;
+ unitgroup auto1934A6F2_g;
+ int auto1934A6F2_u;
+ unit auto1934A6F2_var;
+
// Variable Initialization
// Actions
@@ -3950,21 +4161,22 @@ bool gt_PerformanceHandler_Func (bool testConds, bool runActions) {
gv_perfPausedRegions[gv_perfPausedCount] = RegionFromId(150);
gv_perfRevealRegions[gv_perfPausedCount] = RegionFromId(149);
autoE7930946_ae = gv_perfPausedCount;
- autoE7930946_ai = 1;
lv_index = 1;
- for ( ; ( (autoE7930946_ai >= 0 && lv_index <= autoE7930946_ae) || (autoE7930946_ai <= 0 && lv_index >= autoE7930946_ae) ) ; lv_index += autoE7930946_ai ) {
+ for ( ; ( (autoE7930946_ai >= 0 && lv_index <= autoE7930946_ae) || (autoE7930946_ai < 0 && lv_index >= autoE7930946_ae) ) ; lv_index += autoE7930946_ai ) {
gv_perfPausedUnits[lv_index] = UnitGroupAlliance(gv_pLAYER_01_USER, c_unitAllianceEnemy, gv_perfPausedRegions[lv_index], UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
- UnitGroupLoopBegin(gv_perfPausedUnits[lv_index]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitFilterMatch(UnitGroupLoopCurrent(), gv_pLAYER_01_USER, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true) && ((UnitGetType(UnitGroupLoopCurrent()) == "JarbanInfestibleColonistHut") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBarracks") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedFactory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedStarport") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedCC") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedMissileTurret") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedBunker") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedEngBay") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedArmory") || (UnitGetType(UnitGroupLoopCurrent()) == "InfestedSupply") || (UnitGetType(UnitGroupLoopCurrent()) == "Hatchery") || (UnitGetType(UnitGroupLoopCurrent()) == "Lair") || (UnitGetType(UnitGroupLoopCurrent()) == "Hive") || (UnitGetType(UnitGroupLoopCurrent()) == "CreepTumorBurrowed") || (UnitGetType(UnitGroupLoopCurrent()) == "SporeCrawler") || (UnitGetType(UnitGroupLoopCurrent()) == "SpineCrawler") || (UnitGetType(UnitGroupLoopCurrent()) == "Extractor"))) {
- UnitGroupRemove(gv_perfPausedUnits[lv_index], UnitGroupLoopCurrent());
+ auto0BC6F894_g = gv_perfPausedUnits[lv_index];
+ auto0BC6F894_u = UnitGroupCount(auto0BC6F894_g, c_unitCountAll);
+ for (;; auto0BC6F894_u -= 1) {
+ auto0BC6F894_var = UnitGroupUnitFromEnd(auto0BC6F894_g, auto0BC6F894_u);
+ if (auto0BC6F894_var == null) { break; }
+ if ((UnitFilterMatch(auto0BC6F894_var, gv_pLAYER_01_USER, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true) && ((UnitGetType(auto0BC6F894_var) == "JarbanInfestibleColonistHut") || (UnitGetType(auto0BC6F894_var) == "InfestedBarracks") || (UnitGetType(auto0BC6F894_var) == "InfestedFactory") || (UnitGetType(auto0BC6F894_var) == "InfestedStarport") || (UnitGetType(auto0BC6F894_var) == "InfestedCC") || (UnitGetType(auto0BC6F894_var) == "InfestedMissileTurret") || (UnitGetType(auto0BC6F894_var) == "InfestedBunker") || (UnitGetType(auto0BC6F894_var) == "InfestedEngBay") || (UnitGetType(auto0BC6F894_var) == "InfestedArmory") || (UnitGetType(auto0BC6F894_var) == "InfestedSupply") || (UnitGetType(auto0BC6F894_var) == "Hatchery") || (UnitGetType(auto0BC6F894_var) == "Lair") || (UnitGetType(auto0BC6F894_var) == "Hive") || (UnitGetType(auto0BC6F894_var) == "CreepTumorBurrowed") || (UnitGetType(auto0BC6F894_var) == "SporeCrawler") || (UnitGetType(auto0BC6F894_var) == "SpineCrawler") || (UnitGetType(auto0BC6F894_var) == "Extractor"))) {
+ UnitGroupRemove(gv_perfPausedUnits[lv_index], auto0BC6F894_var);
}
else {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 1.0);
+ libNtve_gf_PauseUnit(auto0BC6F894_var, true);
+ UnitSetCustomValue(auto0BC6F894_var, 1, 1.0);
}
}
- UnitGroupLoopEnd();
}
while (true) {
if ((libNCMI_gf_GameIsOver() == true)) {
@@ -3972,17 +4184,18 @@ bool gt_PerformanceHandler_Func (bool testConds, bool runActions) {
}
autoD90D5367_ae = gv_perfPausedCount;
- autoD90D5367_ai = 1;
lv_index = 1;
- for ( ; ( (autoD90D5367_ai >= 0 && lv_index <= autoD90D5367_ae) || (autoD90D5367_ai <= 0 && lv_index >= autoD90D5367_ae) ) ; lv_index += autoD90D5367_ai ) {
+ for ( ; ( (autoD90D5367_ai >= 0 && lv_index <= autoD90D5367_ae) || (autoD90D5367_ai < 0 && lv_index >= autoD90D5367_ae) ) ; lv_index += autoD90D5367_ai ) {
if ((gv_perfRevealRegions[lv_index] != null) && ((UnitGroupCount(UnitGroup(null, gv_pLAYER_01_USER, gv_perfRevealRegions[lv_index], UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1), c_unitCountAlive) > 0) || (UnitGroupCount(UnitGroup(null, gv_pLAYER_02_PROTOSS_BULLIES, gv_perfRevealRegions[lv_index], UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1), c_unitCountAlive) > 0) || (UnitGroupCount(UnitGroup(null, gv_pLAYER_04_PROTOSS_WAVES, gv_perfRevealRegions[lv_index], UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1), c_unitCountAlive) > 0))) {
- UnitGroupLoopBegin(gv_perfPausedUnits[lv_index]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitGroupRemove(gv_perfPausedUnits[lv_index], UnitGroupLoopCurrent());
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 0.0);
+ auto1934A6F2_g = gv_perfPausedUnits[lv_index];
+ auto1934A6F2_u = UnitGroupCount(auto1934A6F2_g, c_unitCountAll);
+ for (;; auto1934A6F2_u -= 1) {
+ auto1934A6F2_var = UnitGroupUnitFromEnd(auto1934A6F2_g, auto1934A6F2_u);
+ if (auto1934A6F2_var == null) { break; }
+ libNtve_gf_PauseUnit(auto1934A6F2_var, false);
+ UnitGroupRemove(gv_perfPausedUnits[lv_index], auto1934A6F2_var);
+ UnitSetCustomValue(auto1934A6F2_var, 1, 0.0);
}
- UnitGroupLoopEnd();
gv_perfRevealRegions[lv_index] = null;
}
@@ -4001,23 +4214,32 @@ void gt_PerformanceHandler_Init () {
// Trigger: Pause Units Again
//--------------------------------------------------------------------------------------------------
bool gt_PauseUnitsAgain_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ int auto0099E250_ae;
+ int auto0099E250_var;
+ unitgroup auto69CF187D_g;
+ int auto69CF187D_u;
+ unit auto69CF187D_var;
+
// Actions
if (!runActions) {
return true;
}
- IntLoopBegin(1, gv_perfPausedCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_perfRevealRegions[IntLoopCurrent()] != null)) {
- UnitGroupLoopBegin(gv_perfPausedUnits[IntLoopCurrent()]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto0099E250_ae = gv_perfPausedCount;
+ auto0099E250_var = 1;
+ for ( ; auto0099E250_var <= auto0099E250_ae; auto0099E250_var += 1 ) {
+ if ((gv_perfRevealRegions[auto0099E250_var] != null)) {
+ auto69CF187D_g = gv_perfPausedUnits[auto0099E250_var];
+ auto69CF187D_u = UnitGroupCount(auto69CF187D_g, c_unitCountAll);
+ for (;; auto69CF187D_u -= 1) {
+ auto69CF187D_var = UnitGroupUnitFromEnd(auto69CF187D_g, auto69CF187D_u);
+ if (auto69CF187D_var == null) { break; }
+ libNtve_gf_PauseUnit(auto69CF187D_var, true);
}
- UnitGroupLoopEnd();
}
}
- IntLoopEnd();
return true;
}
@@ -4033,6 +4255,13 @@ bool gt_OrbitalScanOrNukeUsed_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_perfRegionIndex;
+ // Automatic Variable Declarations
+ int auto81643518_ae;
+ int auto81643518_var;
+ unitgroup autoD22248C3_g;
+ int autoD22248C3_u;
+ unit autoD22248C3_var;
+
// Variable Initialization
// Actions
@@ -4040,23 +4269,25 @@ bool gt_OrbitalScanOrNukeUsed_Func (bool testConds, bool runActions) {
return true;
}
- IntLoopBegin(1, gv_perfPausedCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- if ((gv_perfRevealRegions[IntLoopCurrent()] != null) && (RegionContainsPoint(gv_perfRevealRegions[IntLoopCurrent()], EventPlayerEffectUsedPoint(c_effectLocationTargetPoint)) == true)) {
- lv_perfRegionIndex = IntLoopCurrent();
+ auto81643518_ae = gv_perfPausedCount;
+ auto81643518_var = 1;
+ for ( ; auto81643518_var <= auto81643518_ae; auto81643518_var += 1 ) {
+ if ((gv_perfRevealRegions[auto81643518_var] != null) && (RegionContainsPoint(gv_perfRevealRegions[auto81643518_var], EventPlayerEffectUsedPoint(c_effectLocationTargetPoint)) == true)) {
+ lv_perfRegionIndex = auto81643518_var;
break;
}
}
- IntLoopEnd();
if ((gv_perfRevealRegions[lv_perfRegionIndex] != null)) {
- UnitGroupLoopBegin(gv_perfPausedUnits[lv_perfRegionIndex]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitGroupRemove(gv_perfPausedUnits[lv_perfRegionIndex], UnitGroupLoopCurrent());
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 0.0);
+ autoD22248C3_g = gv_perfPausedUnits[lv_perfRegionIndex];
+ autoD22248C3_u = UnitGroupCount(autoD22248C3_g, c_unitCountAll);
+ for (;; autoD22248C3_u -= 1) {
+ autoD22248C3_var = UnitGroupUnitFromEnd(autoD22248C3_g, autoD22248C3_u);
+ if (autoD22248C3_var == null) { break; }
+ libNtve_gf_PauseUnit(autoD22248C3_var, false);
+ UnitGroupRemove(gv_perfPausedUnits[lv_perfRegionIndex], autoD22248C3_var);
+ UnitSetCustomValue(autoD22248C3_var, 1, 0.0);
}
- UnitGroupLoopEnd();
gv_perfRevealRegions[lv_perfRegionIndex] = null;
}
@@ -4074,24 +4305,33 @@ void gt_OrbitalScanOrNukeUsed_Init () {
// Trigger: Show Map Cheat Used
//--------------------------------------------------------------------------------------------------
bool gt_ShowMapCheatUsed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ int auto2166BD5A_ae;
+ int auto2166BD5A_var;
+ unitgroup autoEF2F6C68_g;
+ int autoEF2F6C68_u;
+ unit autoEF2F6C68_var;
+
// Actions
if (!runActions) {
return true;
}
TriggerStop(gt_PerformanceHandler);
- IntLoopBegin(1, gv_perfPausedCount);
- for ( ; !IntLoopDone() ; IntLoopStep() ) {
- gv_perfRevealRegions[IntLoopCurrent()] = null;
- UnitGroupLoopBegin(gv_perfPausedUnits[IntLoopCurrent()]);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitGroupRemove(gv_perfPausedUnits[IntLoopCurrent()], UnitGroupLoopCurrent());
- UnitSetCustomValue(UnitGroupLoopCurrent(), 1, 0.0);
+ auto2166BD5A_ae = gv_perfPausedCount;
+ auto2166BD5A_var = 1;
+ for ( ; auto2166BD5A_var <= auto2166BD5A_ae; auto2166BD5A_var += 1 ) {
+ gv_perfRevealRegions[auto2166BD5A_var] = null;
+ autoEF2F6C68_g = gv_perfPausedUnits[auto2166BD5A_var];
+ autoEF2F6C68_u = UnitGroupCount(autoEF2F6C68_g, c_unitCountAll);
+ for (;; autoEF2F6C68_u -= 1) {
+ autoEF2F6C68_var = UnitGroupUnitFromEnd(autoEF2F6C68_g, autoEF2F6C68_u);
+ if (autoEF2F6C68_var == null) { break; }
+ libNtve_gf_PauseUnit(autoEF2F6C68_var, false);
+ UnitGroupRemove(gv_perfPausedUnits[auto2166BD5A_var], autoEF2F6C68_var);
+ UnitSetCustomValue(autoEF2F6C68_var, 1, 0.0);
}
- UnitGroupLoopEnd();
}
- IntLoopEnd();
return true;
}
@@ -4105,6 +4345,7 @@ void gt_ShowMapCheatUsed_Init () {
// Trigger: Start Game Q
//--------------------------------------------------------------------------------------------------
bool gt_StartGameQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -4142,17 +4383,18 @@ void gt_StartGameQ_Init () {
// Trigger: Create Terrazine Tank Pings
//--------------------------------------------------------------------------------------------------
bool gt_CreateTerrazineTankPings_Func (bool testConds, bool runActions) {
- int auto6603F5E4_ae;
- int auto6603F5E4_ai;
- int auto8E09555C_ae;
- int auto8E09555C_ai;
- int auto702AF802_ae;
- int auto702AF802_ai;
-
// Variable Declarations
int lv_terrazineTankIndex;
fixed lv_revealerRange;
+ // Automatic Variable Declarations
+ const int auto6603F5E4_ae = 4;
+ const int auto6603F5E4_ai = 1;
+ const int auto8E09555C_ae = 6;
+ const int auto8E09555C_ai = 1;
+ int auto702AF802_ae;
+ const int auto702AF802_ai = 1;
+
// Variable Initialization
lv_revealerRange = 5.0;
@@ -4190,10 +4432,8 @@ bool gt_CreateTerrazineTankPings_Func (bool testConds, bool runActions) {
libNCMI_gf_SetUnitInfoTextCampaign(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_beaconUnit, null, StringExternal("Param/Value/35E447A5"), StringExternal("Param/Value/71C9BE61"));
Wait(1.5, c_timeGame);
SoundPlayForPlayer(SoundLink("UI_TerranPing", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
- auto6603F5E4_ae = 4;
- auto6603F5E4_ai = 1;
lv_terrazineTankIndex = 3;
- for ( ; ( (auto6603F5E4_ai >= 0 && lv_terrazineTankIndex <= auto6603F5E4_ae) || (auto6603F5E4_ai <= 0 && lv_terrazineTankIndex >= auto6603F5E4_ae) ) ; lv_terrazineTankIndex += auto6603F5E4_ai ) {
+ for ( ; ( (auto6603F5E4_ai >= 0 && lv_terrazineTankIndex <= auto6603F5E4_ae) || (auto6603F5E4_ai < 0 && lv_terrazineTankIndex >= auto6603F5E4_ae) ) ; lv_terrazineTankIndex += auto6603F5E4_ai ) {
VisRevealerCreate(gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit), lv_revealerRange));
gv_terrazineTankLocations[lv_terrazineTankIndex].lv_revealer = VisRevealerLastCreated();
libNCMI_gf_PingMinimapCampaign(PlayerGroupAll(), UnitGetPosition(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit), 2.0, Color(0.00, 100.00, 0.00));
@@ -4202,10 +4442,8 @@ bool gt_CreateTerrazineTankPings_Func (bool testConds, bool runActions) {
}
Wait(1.5, c_timeGame);
SoundPlayForPlayer(SoundLink("UI_TerranPing", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
- auto8E09555C_ae = 6;
- auto8E09555C_ai = 1;
lv_terrazineTankIndex = 5;
- for ( ; ( (auto8E09555C_ai >= 0 && lv_terrazineTankIndex <= auto8E09555C_ae) || (auto8E09555C_ai <= 0 && lv_terrazineTankIndex >= auto8E09555C_ae) ) ; lv_terrazineTankIndex += auto8E09555C_ai ) {
+ for ( ; ( (auto8E09555C_ai >= 0 && lv_terrazineTankIndex <= auto8E09555C_ae) || (auto8E09555C_ai < 0 && lv_terrazineTankIndex >= auto8E09555C_ae) ) ; lv_terrazineTankIndex += auto8E09555C_ai ) {
VisRevealerCreate(gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit), lv_revealerRange));
gv_terrazineTankLocations[lv_terrazineTankIndex].lv_revealer = VisRevealerLastCreated();
libNCMI_gf_PingMinimapCampaign(PlayerGroupAll(), UnitGetPosition(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit), 2.0, Color(0.00, 100.00, 0.00));
@@ -4215,9 +4453,8 @@ bool gt_CreateTerrazineTankPings_Func (bool testConds, bool runActions) {
Wait(1.5, c_timeGame);
SoundPlayForPlayer(SoundLink("UI_TerranPing", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
auto702AF802_ae = gv_terrazineTankLocationsCount;
- auto702AF802_ai = 1;
lv_terrazineTankIndex = 7;
- for ( ; ( (auto702AF802_ai >= 0 && lv_terrazineTankIndex <= auto702AF802_ae) || (auto702AF802_ai <= 0 && lv_terrazineTankIndex >= auto702AF802_ae) ) ; lv_terrazineTankIndex += auto702AF802_ai ) {
+ for ( ; ( (auto702AF802_ai >= 0 && lv_terrazineTankIndex <= auto702AF802_ae) || (auto702AF802_ai < 0 && lv_terrazineTankIndex >= auto702AF802_ae) ) ; lv_terrazineTankIndex += auto702AF802_ai ) {
VisRevealerCreate(gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit), lv_revealerRange));
gv_terrazineTankLocations[lv_terrazineTankIndex].lv_revealer = VisRevealerLastCreated();
libNCMI_gf_PingMinimapCampaign(PlayerGroupAll(), UnitGetPosition(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit), 2.0, Color(0.00, 100.00, 0.00));
@@ -4239,6 +4476,11 @@ bool gt_SomethingTerribleQ_Func (bool testConds, bool runActions) {
// Variable Declarations
timer lv_talkTimer;
+ // Automatic Variable Declarations
+ unitgroup autoCB5898EA_g;
+ int autoCB5898EA_u;
+ unit autoCB5898EA_var;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -4285,14 +4527,16 @@ bool gt_SomethingTerribleQ_Func (bool testConds, bool runActions) {
TriggerQueueExit();
AIAttackWaveSetGatherPoint(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, PointFromId(389));
AIAttackWaveSetTargetPoint(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, PointFromId(154));
- UnitGroupLoopBegin(UnitGroup("InfestedCocoon", c_playerAny, RegionFromId(8), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_CreateUnitsWithDefaultFacing(1, "InfestedCivilian", c_unitCreateIgnorePlacement, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, UnitGetPosition(UnitGroupLoopCurrent()));
+ autoCB5898EA_g = UnitGroup("InfestedCocoon", c_playerAny, RegionFromId(8), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoCB5898EA_u = UnitGroupCount(autoCB5898EA_g, c_unitCountAll);
+ for (;; autoCB5898EA_u -= 1) {
+ autoCB5898EA_var = UnitGroupUnitFromEnd(autoCB5898EA_g, autoCB5898EA_u);
+ if (autoCB5898EA_var == null) { break; }
+ libNtve_gf_CreateUnitsWithDefaultFacing(1, "InfestedCivilian", c_unitCreateIgnorePlacement, gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, UnitGetPosition(autoCB5898EA_var));
AIAttackWaveUseUnit(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, UnitLastCreated());
- UnitKill(UnitGroupLoopCurrent());
+ UnitKill(autoCB5898EA_var);
Wait(0.125, c_timeAI);
}
- UnitGroupLoopEnd();
AIAttackWaveSend(gv_pLAYER_03_INFESTED_NOFIGHTPROTOSS, 0, false);
return true;
}
@@ -4307,6 +4551,7 @@ void gt_SomethingTerribleQ_Init () {
// Trigger: Infested Come Down Ramp
//--------------------------------------------------------------------------------------------------
bool gt_InfestedComeDownRamp_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4349,6 +4594,7 @@ void gt_InfestedComeDownRamp_Init () {
// Trigger: Found The Miners Via Attack Q
//--------------------------------------------------------------------------------------------------
bool gt_FoundTheMinersViaAttackQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4394,6 +4640,7 @@ void gt_FoundTheMinersViaAttackQ_Init () {
// Trigger: Found The Miners Via Unburrow Q
//--------------------------------------------------------------------------------------------------
bool gt_FoundTheMinersViaUnburrowQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -4449,6 +4696,11 @@ bool gt_NeverTakeMeAliveQ_Func (bool testConds, bool runActions) {
// Variable Declarations
timer lv_talkTimer;
+ // Automatic Variable Declarations
+ unitgroup auto6138109D_g;
+ int auto6138109D_u;
+ unit auto6138109D_var;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -4486,11 +4738,13 @@ bool gt_NeverTakeMeAliveQ_Func (bool testConds, bool runActions) {
VisRevealArea(gv_pLAYER_01_USER, RegionFromId(24), 6.0, false);
libNtve_gf_ShareVisionofUnit(UnitFromId(792), true, gv_pLAYER_01_USER);
UnitIssueOrder(UnitFromId(792), OrderTargetingPoint(AbilityCommand("move", 0), PointFromId(804)), c_orderQueueReplace);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_05_INFESTED_FIGHTPROTOSS, RegionFromId(24), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(AbilityCommand("attack", 0), UnitFromId(792)), c_orderQueueReplace);
+ auto6138109D_g = UnitGroup(null, gv_pLAYER_05_INFESTED_FIGHTPROTOSS, RegionFromId(24), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto6138109D_u = UnitGroupCount(auto6138109D_g, c_unitCountAll);
+ for (;; auto6138109D_u -= 1) {
+ auto6138109D_var = UnitGroupUnitFromEnd(auto6138109D_g, auto6138109D_u);
+ if (auto6138109D_var == null) { break; }
+ UnitIssueOrder(auto6138109D_var, OrderTargetingUnit(AbilityCommand("attack", 0), UnitFromId(792)), c_orderQueueReplace);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
TimerStart(lv_talkTimer, 1.0, false, c_timeGame);
TriggerQueueEnter();
@@ -4518,6 +4772,7 @@ bool gt_AberrationSurpriseQ_Func (bool testConds, bool runActions) {
// Variable Declarations
timer lv_talkTimer;
+ // Automatic Variable Declarations
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -4576,6 +4831,7 @@ bool gt_NovaSeesInfestedSiegeTankQ_Func (bool testConds, bool runActions) {
// Variable Declarations
timer lv_talkTimer;
+ // Automatic Variable Declarations
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -4629,6 +4885,7 @@ bool gt_SiegeTankAlleyQ_Func (bool testConds, bool runActions) {
// Variable Declarations
timer lv_talkTimer;
+ // Automatic Variable Declarations
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -4685,6 +4942,11 @@ void gt_SiegeTankAlleyQ_Init () {
// Trigger: Siege Tanks Siege Up
//--------------------------------------------------------------------------------------------------
bool gt_SiegeTanksSiegeUp_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto64C5BD11_g;
+ int auto64C5BD11_u;
+ unit auto64C5BD11_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4705,14 +4967,16 @@ bool gt_SiegeTanksSiegeUp_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(gv_infestedSiegeTanks);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitCount(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(UnitGroupLoopCurrent()), 14.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1) == 1)) {
- UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("NovaInfestedSiegeTankRoot", 0)), c_orderQueueReplace);
+ auto64C5BD11_g = gv_infestedSiegeTanks;
+ auto64C5BD11_u = UnitGroupCount(auto64C5BD11_g, c_unitCountAll);
+ for (;; auto64C5BD11_u -= 1) {
+ auto64C5BD11_var = UnitGroupUnitFromEnd(auto64C5BD11_g, auto64C5BD11_u);
+ if (auto64C5BD11_var == null) { break; }
+ if ((UnitCount(null, gv_pLAYER_01_USER, RegionCircle(UnitGetPosition(auto64C5BD11_var), 14.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1) == 1)) {
+ UnitIssueOrder(auto64C5BD11_var, Order(AbilityCommand("NovaInfestedSiegeTankRoot", 0)), c_orderQueueReplace);
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -4730,6 +4994,7 @@ bool gt_BansheeRunQ_Func (bool testConds, bool runActions) {
unit lv_infestedBanshee;
timer lv_talkTimer;
+ // Automatic Variable Declarations
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -4797,6 +5062,7 @@ void gt_BansheeRunQ_Init () {
// Trigger: Player Nears Friendly Umojans Q
//--------------------------------------------------------------------------------------------------
bool gt_PlayerNearsFriendlyUmojansQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4855,6 +5121,7 @@ void gt_PlayerNearsFriendlyUmojansQ_Init () {
// Trigger: Friendly Umojans Q
//--------------------------------------------------------------------------------------------------
bool gt_FriendlyUmojansQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4911,6 +5178,11 @@ void gt_FriendlyUmojansQ_Init () {
// Trigger: Reach Umojan Forces Q
//--------------------------------------------------------------------------------------------------
bool gt_ReachUmojanForcesQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto2985741A_g;
+ int auto2985741A_u;
+ unit auto2985741A_var;
+
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -4941,11 +5213,13 @@ bool gt_ReachUmojanForcesQ_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
TriggerEnable(gt_FriendlyUmojansQ, false);
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_07_COLONISTS, RegionFromId(26), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_RescueUnit(UnitGroupLoopCurrent(), gv_pLAYER_01_USER, true);
+ auto2985741A_g = UnitGroup(null, gv_pLAYER_07_COLONISTS, RegionFromId(26), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto2985741A_u = UnitGroupCount(auto2985741A_g, c_unitCountAll);
+ for (;; auto2985741A_u -= 1) {
+ auto2985741A_var = UnitGroupUnitFromEnd(auto2985741A_g, auto2985741A_u);
+ if (auto2985741A_var == null) { break; }
+ libNtve_gf_RescueUnit(auto2985741A_var, gv_pLAYER_01_USER, true);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeAI);
TriggerQueueEnter();
libComC_gf_SetAllSoundChannelVolumesCampaign(libComC_ge_VolumeChannelModeCampaign_Speech);
@@ -4968,6 +5242,7 @@ void gt_ReachUmojanForcesQ_Init () {
// Trigger: Stay Out Of Tal'darim Base Q
//--------------------------------------------------------------------------------------------------
bool gt_StayOutOfTaldarimBaseQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5015,6 +5290,7 @@ void gt_StayOutOfTaldarimBaseQ_Init () {
// Trigger: Player Attacks Tal'darim Base Q
//--------------------------------------------------------------------------------------------------
bool gt_PlayerAttacksTaldarimBaseQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5069,6 +5345,7 @@ void gt_PlayerAttacksTaldarimBaseQ_Init () {
// Trigger: Stay Out Of Zerg Base Q
//--------------------------------------------------------------------------------------------------
bool gt_StayOutOfZergBaseQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5115,6 +5392,7 @@ void gt_StayOutOfZergBaseQ_Init () {
// Trigger: Player Attacks Zerg Base Q
//--------------------------------------------------------------------------------------------------
bool gt_PlayerAttacksZergBaseQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -5170,6 +5448,7 @@ void gt_PlayerAttacksZergBaseQ_Init () {
// Trigger: Initialize Terrazine Tank Locations
//--------------------------------------------------------------------------------------------------
bool gt_InitializeTerrazineTankLocations_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -5322,6 +5601,7 @@ bool gt_PlayerEntersTerrazineBeacon_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_terrazineTankIndex;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -5375,15 +5655,16 @@ void gt_PlayerEntersTerrazineBeacon_Init () {
// Trigger: Player Initiates Gathering Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_PlayerInitiatesGatheringTransmissionQ_Func (bool testConds, bool runActions) {
- int autoE9C99AAE_ae;
- int autoE9C99AAE_ai;
- int auto25936872_val;
- int autoD3127D4B_val;
-
// Variable Declarations
int lv_terrazineTankIndex;
int lv_concurrentTanksGatheringCount;
+ // Automatic Variable Declarations
+ int autoE9C99AAE_ae;
+ const int autoE9C99AAE_ai = 1;
+ int auto25936872_val;
+ int autoD3127D4B_val;
+
// Variable Initialization
// Conditions
@@ -5403,9 +5684,8 @@ bool gt_PlayerInitiatesGatheringTransmissionQ_Func (bool testConds, bool runActi
}
autoE9C99AAE_ae = gv_terrazineTankLocationsCount;
- autoE9C99AAE_ai = 1;
lv_terrazineTankIndex = 1;
- for ( ; ( (autoE9C99AAE_ai >= 0 && lv_terrazineTankIndex <= autoE9C99AAE_ae) || (autoE9C99AAE_ai <= 0 && lv_terrazineTankIndex >= autoE9C99AAE_ae) ) ; lv_terrazineTankIndex += autoE9C99AAE_ai ) {
+ for ( ; ( (autoE9C99AAE_ai >= 0 && lv_terrazineTankIndex <= autoE9C99AAE_ae) || (autoE9C99AAE_ai < 0 && lv_terrazineTankIndex >= autoE9C99AAE_ae) ) ; lv_terrazineTankIndex += autoE9C99AAE_ai ) {
if ((gv_terrazineTankLocations[lv_terrazineTankIndex].lv_state == ge_PRESETTerrazineTankState_Working)) {
lv_concurrentTanksGatheringCount += 1;
}
@@ -5507,12 +5787,13 @@ void gt_PlayerInitiatesGatheringTransmissionQ_Init () {
// Trigger: Terrazine Tank Attacked Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_TerrazineTankAttackedWarningQ_Func (bool testConds, bool runActions) {
- int auto1A16BB77_val;
-
// Variable Declarations
int lv_terrazineTankIndex;
timer lv_talkTimer;
+ // Automatic Variable Declarations
+ int auto1A16BB77_val;
+
// Variable Initialization
lv_talkTimer = TimerCreate();
@@ -5606,11 +5887,12 @@ void gt_TerrazineTankAttackedWarningQ_Init () {
// Trigger: Terrazine Tank Low Life Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_TerrazineTankLowLifeWarningQ_Func (bool testConds, bool runActions) {
- int auto821DD602_val;
-
// Variable Declarations
int lv_terrazineTankIndex;
+ // Automatic Variable Declarations
+ int auto821DD602_val;
+
// Variable Initialization
// Conditions
@@ -5702,6 +5984,11 @@ bool gt_TerrazineTankIsDestroyed_Func (bool testConds, bool runActions) {
int lv_terrazineTankIndex;
fixed lv_timerTime;
+ // Automatic Variable Declarations
+ unitgroup autoD7D5EE58_g;
+ int autoD7D5EE58_u;
+ unit autoD7D5EE58_var;
+
// Variable Initialization
// Conditions
@@ -5737,14 +6024,16 @@ bool gt_TerrazineTankIsDestroyed_Func (bool testConds, bool runActions) {
PingDestroy(libHots_gf_PingStoredForUnit(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit, 1));
PingDestroy(libHots_gf_PingStoredForUnit(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_terrazineTankUnit, 2));
- UnitGroupLoopBegin(gv_infestedRageWaveUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetCustomValue(UnitGroupLoopCurrent(), 0) == lv_terrazineTankIndex)) {
- gf_BurrowAndRemoveInfestedWaveUnit(UnitGroupLoopCurrent());
+ autoD7D5EE58_g = gv_infestedRageWaveUnits;
+ autoD7D5EE58_u = UnitGroupCount(autoD7D5EE58_g, c_unitCountAll);
+ for (;; autoD7D5EE58_u -= 1) {
+ autoD7D5EE58_var = UnitGroupUnitFromEnd(autoD7D5EE58_g, autoD7D5EE58_u);
+ if (autoD7D5EE58_var == null) { break; }
+ if ((UnitGetCustomValue(autoD7D5EE58_var, 0) == lv_terrazineTankIndex)) {
+ gf_BurrowAndRemoveInfestedWaveUnit(autoD7D5EE58_var);
}
}
- UnitGroupLoopEnd();
gv_terrazineTankLocations[lv_terrazineTankIndex].lv_state = ge_PRESETTerrazineTankState_Sealed;
gv_objectiveDoNotLetDevicesBeDestroyed += 1;
TriggerExecute(gt_ObjectiveDoNotLetDevicesBeDestroyedUpdate, true, false);
@@ -5773,6 +6062,7 @@ void gt_TerrazineTankIsDestroyed_Init () {
// Trigger: Terrazine Tanks Destroyed Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_TerrazineTanksDestroyedWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto843C4E4F_val;
// Conditions
@@ -5833,6 +6123,7 @@ void gt_TerrazineTanksDestroyedWarningQ_Init () {
// Trigger: Terrazine Tanks Objective Reminder Q
//--------------------------------------------------------------------------------------------------
bool gt_TerrazineTanksObjectiveReminderQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int autoFDCBBCE9_val;
// Conditions
@@ -5889,6 +6180,7 @@ void gt_TerrazineTanksObjectiveReminderQ_Init () {
// Trigger: Terrazine Gathering Complete Q
//--------------------------------------------------------------------------------------------------
bool gt_TerrazineGatheringCompleteQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -5916,6 +6208,7 @@ void gt_TerrazineGatheringCompleteQ_Init () {
// Trigger: Bonus Objective - Reveal Mines Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveRevealMinesQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -5976,6 +6269,7 @@ void gt_BonusObjectiveRevealMinesQ_Init () {
// Trigger: Bonus Objective - Reveal Science Facility Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveRevealScienceFacilityQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6030,6 +6324,7 @@ void gt_BonusObjectiveRevealScienceFacilityQ_Init () {
// Trigger: Bonus Objective - Proximity Reveal Science Facility
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveProximityRevealScienceFacility_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6072,6 +6367,7 @@ bool gt_BonusObjectiveCollectedMinesQ_Func (bool testConds, bool runActions) {
// Variable Declarations
point lv_triggeringPoint;
+ // Automatic Variable Declarations
// Variable Initialization
lv_triggeringPoint = UnitGetPosition(UnitFromId(369));
@@ -6129,6 +6425,7 @@ bool gt_BonusObjectiveCollectedFacilityQ_Func (bool testConds, bool runActions)
// Variable Declarations
point lv_triggeringPoint;
+ // Automatic Variable Declarations
// Variable Initialization
lv_triggeringPoint = UnitGetPosition(UnitFromId(1093));
@@ -6179,6 +6476,7 @@ void gt_BonusObjectiveCollectedFacilityQ_Init () {
// Trigger: Bonus Objective - Nova Enters Mines
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNovaEntersMines_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6251,6 +6549,7 @@ void gt_BonusObjectiveNovaEntersMines_Init () {
// Trigger: Bonus Objective - Nova Leaves Mines
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNovaLeavesMines_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6310,6 +6609,7 @@ void gt_BonusObjectiveNovaLeavesMines_Init () {
// Trigger: Bonus Objective - Nova Enters Science Facility
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNovaEntersScienceFacility_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6378,6 +6678,7 @@ void gt_BonusObjectiveNovaEntersScienceFacility_Init () {
// Trigger: Bonus Objective - Nova Leaves Science Facility
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNovaLeavesScienceFacility_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6437,6 +6738,7 @@ void gt_BonusObjectiveNovaLeavesScienceFacility_Init () {
// Trigger: Bonus Objective - Nova Enters BO First Time Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNovaEntersBOFirstTimeQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6477,6 +6779,7 @@ void gt_BonusObjectiveNovaEntersBOFirstTimeQ_Init () {
// Trigger: Bonus Objective - Nova Dies Inside
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveNovaDiesInside_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6542,6 +6845,7 @@ void gt_BonusObjectiveNovaDiesInside_Init () {
// Trigger: Nova Leaves Souls On Ground
//--------------------------------------------------------------------------------------------------
bool gt_NovaLeavesSoulsOnGround_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6595,6 +6899,7 @@ void gt_NovaLeavesSoulsOnGround_Init () {
// Trigger: Nova Retrieves Souls
//--------------------------------------------------------------------------------------------------
bool gt_NovaRetrievesSouls_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6640,6 +6945,7 @@ void gt_NovaRetrievesSouls_Init () {
// Trigger: Bonus Objective - Start Boss Music
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveStartBossMusic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6680,6 +6986,7 @@ void gt_BonusObjectiveStartBossMusic_Init () {
// Trigger: Bonus Objective - Stop Boss Music
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveStopBossMusic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6711,6 +7018,7 @@ void gt_BonusObjectiveStopBossMusic_Init () {
// Trigger: Bonus Objective - Blightbringer
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveBlightbringer_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -6754,8 +7062,6 @@ void gt_BonusObjectiveBlightbringer_Init () {
// Trigger: Bonus Objective - Blightbringer Battle AI
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveBlightbringerBattleAI_Func (bool testConds, bool runActions) {
- int auto9A2057DD_val;
-
// Variable Declarations
timer lv_attackGroundTimer;
fixed lv_attackGroundCooldown;
@@ -6765,6 +7071,9 @@ bool gt_BonusObjectiveBlightbringerBattleAI_Func (bool testConds, bool runAction
fixed lv_layEggsCooldownEnraged;
int lv_layEggsCooldownEnragedIter;
+ // Automatic Variable Declarations
+ int auto9A2057DD_val;
+
// Variable Initialization
lv_attackGroundTimer = TimerCreate();
lv_attackGroundCooldown = libLotv_gf_DifficultyValueFixed2(6.0, 6.0, 4.0, 3.0);
@@ -6855,6 +7164,7 @@ bool gt_BonusObjectiveSpawnBlightbringerScene_Func (bool testConds, bool runActi
point lv_finalPosition;
fixed lv_finalFacing;
+ // Automatic Variable Declarations
// Variable Initialization
lv_finalPosition = Point(-17.5494, -32.9949);
lv_finalFacing = 115.0;
@@ -6919,6 +7229,7 @@ void gt_BonusObjectiveSpawnBlightbringerScene_Init () {
// Trigger: Bonus Objective - Blightbringer Spawned
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveBlightbringerSpawned_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -6939,6 +7250,7 @@ void gt_BonusObjectiveBlightbringerSpawned_Init () {
// Trigger: Bonus Objective - Found Blightbringer Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveFoundBlightbringerTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -6981,12 +7293,16 @@ void gt_BonusObjectiveFoundBlightbringerTransmissionQ_Init () {
// Trigger: Bonus Objective - Blightbringer Egg Created
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveBlightbringerEggCreated_Func (bool testConds, bool runActions) {
- string autoBB01348F_val;
-
// Variable Declarations
unit lv_eggUnit;
int lv_randomInt;
+ // Automatic Variable Declarations
+ string autoBB01348F_val;
+ unitgroup autoA6C93D58_g;
+ int autoA6C93D58_u;
+ unit autoA6C93D58_var;
+
// Variable Initialization
// Conditions
@@ -7042,12 +7358,14 @@ bool gt_BonusObjectiveBlightbringerEggCreated_Func (bool testConds, bool runActi
}
else {
}
- UnitGroupLoopBegin(UnitLastCreatedGroup());
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
+ autoA6C93D58_g = UnitLastCreatedGroup();
+ autoA6C93D58_u = UnitGroupCount(autoA6C93D58_g, c_unitCountAll);
+ for (;; autoA6C93D58_u -= 1) {
+ autoA6C93D58_var = UnitGroupUnitFromEnd(autoA6C93D58_g, autoA6C93D58_u);
+ if (autoA6C93D58_var == null) { break; }
UnitGroupAdd(gv_bonusObjective_HatchedInfestedGroup, UnitLastCreated());
UnitSetPropertyFixed(UnitLastCreated(), c_unitPropLifePercent, UnitGetPropertyFixed(lv_eggUnit, c_unitPropLifePercent, c_unitPropCurrent));
}
- UnitGroupLoopEnd();
UnitKill(lv_eggUnit);
}
@@ -7064,6 +7382,7 @@ void gt_BonusObjectiveBlightbringerEggCreated_Init () {
// Trigger: Bonus Objective - Infested Attack Nova
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveInfestedAttackNova_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7106,6 +7425,17 @@ bool gt_BonusObjectiveBlightbringerDies_Func (bool testConds, bool runActions) {
// Variable Declarations
point lv_dyingPoint;
+ // Automatic Variable Declarations
+ unitgroup auto051B9103_g;
+ int auto051B9103_u;
+ unit auto051B9103_var;
+ unitgroup auto55A3B2E4_g;
+ int auto55A3B2E4_u;
+ unit auto55A3B2E4_var;
+ unitgroup auto88E6E922_g;
+ int auto88E6E922_u;
+ unit auto88E6E922_var;
+
// Variable Initialization
lv_dyingPoint = UnitGetPosition(EventUnit());
@@ -7132,21 +7462,27 @@ bool gt_BonusObjectiveBlightbringerDies_Func (bool testConds, bool runActions) {
TriggerEnable(TriggerGetCurrent(), false);
gv_bonusObjective_BlightbringerActive = false;
CameraShake(gv_pLAYER_01_USER, "Light", "Earthquake", 0.0, 2.0, 2.0);
- UnitGroupLoopBegin(UnitGroup("BlightbringerEgg", c_playerAny, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("BlightbringerLargeEgg", c_playerAny, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitKill(UnitGroupLoopCurrent());
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_bonusObjective_HatchedInfestedGroup);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- gf_BonusObjectiveBurrowAndRemoveInfestedWaveUnit(UnitGroupLoopCurrent());
+ auto051B9103_g = UnitGroup("BlightbringerEgg", c_playerAny, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto051B9103_u = UnitGroupCount(auto051B9103_g, c_unitCountAll);
+ for (;; auto051B9103_u -= 1) {
+ auto051B9103_var = UnitGroupUnitFromEnd(auto051B9103_g, auto051B9103_u);
+ if (auto051B9103_var == null) { break; }
+ UnitKill(auto051B9103_var);
+ }
+ auto55A3B2E4_g = UnitGroup("BlightbringerLargeEgg", c_playerAny, RegionFromId(79), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto55A3B2E4_u = UnitGroupCount(auto55A3B2E4_g, c_unitCountAll);
+ for (;; auto55A3B2E4_u -= 1) {
+ auto55A3B2E4_var = UnitGroupUnitFromEnd(auto55A3B2E4_g, auto55A3B2E4_u);
+ if (auto55A3B2E4_var == null) { break; }
+ UnitKill(auto55A3B2E4_var);
+ }
+ auto88E6E922_g = gv_bonusObjective_HatchedInfestedGroup;
+ auto88E6E922_u = UnitGroupCount(auto88E6E922_g, c_unitCountAll);
+ for (;; auto88E6E922_u -= 1) {
+ auto88E6E922_var = UnitGroupUnitFromEnd(auto88E6E922_g, auto88E6E922_u);
+ if (auto88E6E922_var == null) { break; }
+ gf_BonusObjectiveBurrowAndRemoveInfestedWaveUnit(auto88E6E922_var);
}
- UnitGroupLoopEnd();
TriggerExecute(gt_BonusObjectiveStopBossMusic, true, false);
UnitSetPosition(UnitFromId(369), lv_dyingPoint, false);
libNtve_gf_ShowHideUnit(UnitFromId(369), true);
@@ -7169,6 +7505,7 @@ void gt_BonusObjectiveBlightbringerDies_Init () {
// Trigger: Bonus Objective - Eradicator Nova Enters Room
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveEradicatorNovaEntersRoom_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7212,6 +7549,7 @@ void gt_BonusObjectiveEradicatorNovaEntersRoom_Init () {
// Trigger: Bonus Objective - Spawn Eradicator Scene
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveSpawnEradicatorScene_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7338,6 +7676,7 @@ void gt_BonusObjectiveSpawnEradicatorScene_Init () {
// Trigger: Bonus Objective - Activate Eradicator Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveActivateEradicatorTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7389,6 +7728,7 @@ void gt_BonusObjectiveActivateEradicatorTransmissionQ_Init () {
// Trigger: Bonus Objective - Activate Eradicator Enrage Transmission Q
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveActivateEradicatorEnrageTransmissionQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7436,6 +7776,7 @@ void gt_BonusObjectiveActivateEradicatorEnrageTransmissionQ_Init () {
// Trigger: Bonus Objective - Eradicator Type Missile
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveEradicatorTypeMissile_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7493,12 +7834,13 @@ void gt_BonusObjectiveEradicatorTypeMissile_Init () {
// Trigger: Bonus Objective - Eradicator Type Cannon
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveEradicatorTypeCannon_Func (bool testConds, bool runActions) {
- int autoC7813182_val;
- fixed auto5F1EC19C_at;
-
// Variable Declarations
point lv_targetPosition;
+ // Automatic Variable Declarations
+ int autoC7813182_val;
+ fixed auto5F1EC19C_at;
+
// Variable Initialization
// Conditions
@@ -7580,6 +7922,7 @@ void gt_BonusObjectiveEradicatorTypeCannon_Init () {
// Trigger: Bonus Objective - Eradicator Type Missile Enrage
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectiveEradicatorTypeMissileEnrage_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -7630,6 +7973,7 @@ bool gt_BonusObjectiveEradicatorTypeCannonEnrage_Func (bool testConds, bool runA
// Variable Declarations
int lv_attackCount;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -7690,6 +8034,7 @@ bool gt_BonusObjectiveEradicatorDies_Func (bool testConds, bool runActions) {
// Variable Declarations
point lv_dyingPoint;
+ // Automatic Variable Declarations
// Variable Initialization
lv_dyingPoint = UnitGetPosition(EventUnit());
@@ -7755,6 +8100,7 @@ void gt_BonusObjectiveEradicatorDies_Init () {
// Trigger: Bonus Objective - Player Returns To Eradicator Entrance
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectivePlayerReturnsToEradicatorEntrance_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7790,6 +8136,7 @@ void gt_BonusObjectivePlayerReturnsToEradicatorEntrance_Init () {
// Trigger: Bonus Objective - Player Loitering In Eradicator Entrance
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectivePlayerLoiteringInEradicatorEntrance_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNtve_gf_UnitInRegion(gv_nova, RegionFromId(86)) == true))) {
@@ -7822,6 +8169,7 @@ void gt_BonusObjectivePlayerLoiteringInEradicatorEntrance_Init () {
// Trigger: Bonus Objective - Player Left Eradicator Entrance
//--------------------------------------------------------------------------------------------------
bool gt_BonusObjectivePlayerLeftEradicatorEntrance_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -7856,6 +8204,7 @@ void gt_BonusObjectivePlayerLeftEradicatorEntrance_Init () {
// Trigger: Start AI
//--------------------------------------------------------------------------------------------------
bool gt_StartAI_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -7898,39 +8247,57 @@ void gt_StartAI_Init () {
// Trigger: AI Upgrade Casual/Normal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeCasualNormal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto70EECDC9_g;
+ int auto70EECDC9_var;
+ playergroup autoDBA116CD_g;
+ int autoDBA116CD_var;
+ playergroup auto7E0CBA8B_g;
+ int auto7E0CBA8B_var;
+ playergroup auto410FB630_g;
+ int auto410FB630_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossGroundWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossAirWeaponsLevel1", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel1", 1);
- }
- PlayerGroupLoopEnd();
- Wait(360.0, c_timeAI);
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossAirArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossShieldsLevel1", 1);
+ auto70EECDC9_g = gv_taldarimPlayerGroup;
+ auto70EECDC9_var = -1;
+ while (true) {
+ auto70EECDC9_var = PlayerGroupNextPlayer(auto70EECDC9_g, auto70EECDC9_var);
+ if (auto70EECDC9_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto70EECDC9_var, "ProtossGroundWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto70EECDC9_var, "ProtossAirWeaponsLevel1", 1);
}
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel1", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel1", 1);
+ autoDBA116CD_g = gv_zergPlayerGroup;
+ autoDBA116CD_var = -1;
+ while (true) {
+ autoDBA116CD_var = PlayerGroupNextPlayer(autoDBA116CD_g, autoDBA116CD_var);
+ if (autoDBA116CD_var < 0) { break; }
+ TechTreeUpgradeAddLevel(autoDBA116CD_var, "ZergMeleeWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoDBA116CD_var, "ZergFlyerWeaponsLevel1", 1);
+ TechTreeUpgradeAddLevel(autoDBA116CD_var, "ZergMissileWeaponsLevel1", 1);
+ }
+ Wait(360.0, c_timeAI);
+ auto7E0CBA8B_g = gv_taldarimPlayerGroup;
+ auto7E0CBA8B_var = -1;
+ while (true) {
+ auto7E0CBA8B_var = PlayerGroupNextPlayer(auto7E0CBA8B_g, auto7E0CBA8B_var);
+ if (auto7E0CBA8B_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto7E0CBA8B_var, "ProtossGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto7E0CBA8B_var, "ProtossAirArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto7E0CBA8B_var, "ProtossShieldsLevel1", 1);
+ }
+ auto410FB630_g = gv_zergPlayerGroup;
+ auto410FB630_var = -1;
+ while (true) {
+ auto410FB630_var = PlayerGroupNextPlayer(auto410FB630_g, auto410FB630_var);
+ if (auto410FB630_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto410FB630_var, "ZergGroundArmorsLevel1", 1);
+ TechTreeUpgradeAddLevel(auto410FB630_var, "ZergFlyerArmorsLevel1", 1);
}
- PlayerGroupLoopEnd();
return true;
}
@@ -7943,39 +8310,57 @@ void gt_AIUpgradeCasualNormal_Init () {
// Trigger: AI Upgrade Hard/Brutal
//--------------------------------------------------------------------------------------------------
bool gt_AIUpgradeHardBrutal_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ playergroup auto2C2010B0_g;
+ int auto2C2010B0_var;
+ playergroup auto2499DE3F_g;
+ int auto2499DE3F_var;
+ playergroup auto1CFAEDD8_g;
+ int auto1CFAEDD8_var;
+ playergroup auto2A280954_g;
+ int auto2A280954_var;
+
// Actions
if (!runActions) {
return true;
}
Wait(720.0, c_timeAI);
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossGroundWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossAirWeaponsLevel2", 1);
- }
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMeleeWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerWeaponsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergMissileWeaponsLevel2", 1);
- }
- PlayerGroupLoopEnd();
- Wait(360.0, c_timeAI);
- PlayerGroupLoopBegin(gv_taldarimPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossGroundArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossAirArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ProtossShieldsLevel2", 1);
+ auto2C2010B0_g = gv_taldarimPlayerGroup;
+ auto2C2010B0_var = -1;
+ while (true) {
+ auto2C2010B0_var = PlayerGroupNextPlayer(auto2C2010B0_g, auto2C2010B0_var);
+ if (auto2C2010B0_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto2C2010B0_var, "ProtossGroundWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto2C2010B0_var, "ProtossAirWeaponsLevel2", 1);
}
- PlayerGroupLoopEnd();
- PlayerGroupLoopBegin(gv_zergPlayerGroup);
- for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergGroundArmorsLevel2", 1);
- TechTreeUpgradeAddLevel(PlayerGroupLoopCurrent(), "ZergFlyerArmorsLevel2", 1);
+ auto2499DE3F_g = gv_zergPlayerGroup;
+ auto2499DE3F_var = -1;
+ while (true) {
+ auto2499DE3F_var = PlayerGroupNextPlayer(auto2499DE3F_g, auto2499DE3F_var);
+ if (auto2499DE3F_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto2499DE3F_var, "ZergMeleeWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto2499DE3F_var, "ZergFlyerWeaponsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto2499DE3F_var, "ZergMissileWeaponsLevel2", 1);
+ }
+ Wait(360.0, c_timeAI);
+ auto1CFAEDD8_g = gv_taldarimPlayerGroup;
+ auto1CFAEDD8_var = -1;
+ while (true) {
+ auto1CFAEDD8_var = PlayerGroupNextPlayer(auto1CFAEDD8_g, auto1CFAEDD8_var);
+ if (auto1CFAEDD8_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto1CFAEDD8_var, "ProtossGroundArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto1CFAEDD8_var, "ProtossAirArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto1CFAEDD8_var, "ProtossShieldsLevel2", 1);
+ }
+ auto2A280954_g = gv_zergPlayerGroup;
+ auto2A280954_var = -1;
+ while (true) {
+ auto2A280954_var = PlayerGroupNextPlayer(auto2A280954_g, auto2A280954_var);
+ if (auto2A280954_var < 0) { break; }
+ TechTreeUpgradeAddLevel(auto2A280954_var, "ZergGroundArmorsLevel2", 1);
+ TechTreeUpgradeAddLevel(auto2A280954_var, "ZergFlyerArmorsLevel2", 1);
}
- PlayerGroupLoopEnd();
return true;
}
@@ -7988,6 +8373,7 @@ void gt_AIUpgradeHardBrutal_Init () {
// Trigger: First Infested Attack Early Warning Q
//--------------------------------------------------------------------------------------------------
bool gt_FirstInfestedAttackEarlyWarningQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8039,6 +8425,7 @@ bool gt_FirstInfestedAttackQ_Func (bool testConds, bool runActions) {
unitgroup lv_triggeringWaveGroup;
timer lv_talkTimer;
+ // Automatic Variable Declarations
// Variable Initialization
lv_triggeringWaveGroup = UnitGroupEmpty();
lv_talkTimer = TimerCreate();
@@ -8088,6 +8475,7 @@ void gt_FirstInfestedAttackQ_Init () {
// Trigger: First Infested Attack Side Entrance Q
//--------------------------------------------------------------------------------------------------
bool gt_FirstInfestedAttackSideEntranceQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8131,6 +8519,7 @@ void gt_FirstInfestedAttackSideEntranceQ_Init () {
// Trigger: Special Rage Wave - Siege Tanks Q
//--------------------------------------------------------------------------------------------------
bool gt_SpecialRageWaveSiegeTanksQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8172,6 +8561,7 @@ void gt_SpecialRageWaveSiegeTanksQ_Init () {
// Trigger: Special Rage Wave - Flyers Q
//--------------------------------------------------------------------------------------------------
bool gt_SpecialRageWaveFlyersQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8213,6 +8603,7 @@ void gt_SpecialRageWaveFlyersQ_Init () {
// Trigger: Send Protoss Base Attack 01 Q
//--------------------------------------------------------------------------------------------------
bool gt_SendProtossBaseAttack01Q_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8258,6 +8649,7 @@ void gt_SendProtossBaseAttack01Q_Init () {
// Trigger: Protoss Base Attack Unit Warping In
//--------------------------------------------------------------------------------------------------
bool gt_ProtossBaseAttackUnitWarpingIn_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8304,6 +8696,7 @@ void gt_ProtossBaseAttackUnitWarpingIn_Init () {
// Trigger: Send Protoss Claimer Wave (Small)
//--------------------------------------------------------------------------------------------------
bool gt_SendProtossClaimerWaveSmall_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8335,6 +8728,7 @@ void gt_SendProtossClaimerWaveSmall_Init () {
// Trigger: Send Protoss Claimer Wave (Medium)
//--------------------------------------------------------------------------------------------------
bool gt_SendProtossClaimerWaveMedium_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8366,6 +8760,7 @@ void gt_SendProtossClaimerWaveMedium_Init () {
// Trigger: Send Protoss Claimer Wave (Large)
//--------------------------------------------------------------------------------------------------
bool gt_SendProtossClaimerWaveLarge_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8397,13 +8792,14 @@ void gt_SendProtossClaimerWaveLarge_Init () {
// Trigger: Claim Wave Unit Warped In
//--------------------------------------------------------------------------------------------------
bool gt_ClaimWaveUnitWarpedIn_Func (bool testConds, bool runActions) {
- int auto843D6849_ae;
- int auto843D6849_ai;
-
// Variable Declarations
int lv_terrazineTankIndex;
unit lv_warpedUnit;
+ // Automatic Variable Declarations
+ int auto843D6849_ae;
+ const int auto843D6849_ai = 1;
+
// Variable Initialization
// Conditions
@@ -8435,9 +8831,8 @@ bool gt_ClaimWaveUnitWarpedIn_Func (bool testConds, bool runActions) {
}
auto843D6849_ae = gv_terrazineTankLocationsCount;
- auto843D6849_ai = 1;
lv_terrazineTankIndex = 1;
- for ( ; ( (auto843D6849_ai >= 0 && lv_terrazineTankIndex <= auto843D6849_ae) || (auto843D6849_ai <= 0 && lv_terrazineTankIndex >= auto843D6849_ae) ) ; lv_terrazineTankIndex += auto843D6849_ai ) {
+ for ( ; ( (auto843D6849_ai >= 0 && lv_terrazineTankIndex <= auto843D6849_ae) || (auto843D6849_ai < 0 && lv_terrazineTankIndex >= auto843D6849_ae) ) ; lv_terrazineTankIndex += auto843D6849_ai ) {
if ((libNtve_gf_UnitInRegion(EventUnitProgressUnit(), gv_terrazineTankLocations[lv_terrazineTankIndex].lv_protossClaimerWaveTargetRegion) == true)) {
UnitGroupAdd(gv_terrazineTankLocations[lv_terrazineTankIndex].lv_protossClaimerWaveUnitGroup, EventUnitProgressUnit());
lv_warpedUnit = EventUnitProgressUnit();
@@ -8477,6 +8872,7 @@ void gt_ClaimWaveUnitWarpedIn_Init () {
// Trigger: Protoss Claimer Wave Q
//--------------------------------------------------------------------------------------------------
bool gt_ProtossClaimerWaveQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
int auto36970975_val;
// Conditions
@@ -8549,6 +8945,7 @@ void gt_ProtossClaimerWaveQ_Init () {
// Trigger: Infested Kill Protoss Claimer Wave Q
//--------------------------------------------------------------------------------------------------
bool gt_InfestedKillProtossClaimerWaveQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8597,6 +8994,7 @@ void gt_InfestedKillProtossClaimerWaveQ_Init () {
// Trigger: Defeat Base Dead
//--------------------------------------------------------------------------------------------------
bool gt_DefeatBaseDead_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -8641,6 +9039,7 @@ void gt_DefeatBaseDead_Init () {
// Trigger: Defeat Protoss Cap Terrazine
//--------------------------------------------------------------------------------------------------
bool gt_DefeatProtossCapTerrazine_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_PlayerInCinematicModeCampaign() == false))) {
@@ -8679,6 +9078,7 @@ void gt_DefeatProtossCapTerrazine_Init () {
// Trigger: Victory Sequence
//--------------------------------------------------------------------------------------------------
bool gt_VictorySequence_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8710,6 +9110,7 @@ void gt_VictorySequence_Init () {
// Trigger: Victory
//--------------------------------------------------------------------------------------------------
bool gt_Victory_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8735,6 +9136,10 @@ bool gt_Victory_Func (bool testConds, bool runActions) {
libComC_gf_CampaignAwardAchievement("Nova05_Mastery", gv_pLAYER_01_USER);
}
+ if ((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1) && (gv_achievementConstructedSiegeTankOrLiberator == false)) {
+ libComC_gf_CampaignAwardAchievement("Anniversary_Nova05", gv_pLAYER_01_USER);
+ }
+
VictoryPanelAddTrackedStatistic("UnitsTotalCount");
VictoryPanelAddTrackedStatistic("UnitsKilledCount");
VictoryPanelAddTrackedStatistic("UnitsLostCount");
@@ -8755,6 +9160,7 @@ void gt_Victory_Init () {
// Trigger: Defeat
//--------------------------------------------------------------------------------------------------
bool gt_Defeat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8781,6 +9187,7 @@ void gt_Defeat_Init () {
// Trigger: Victory Cheat
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8809,6 +9216,7 @@ void gt_VictoryCheat_Init () {
// Trigger: Defeat Cheat
//--------------------------------------------------------------------------------------------------
bool gt_DefeatCheat_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8837,6 +9245,7 @@ void gt_DefeatCheat_Init () {
// Trigger: Achievement_PlayerHasKilledProtoss
//--------------------------------------------------------------------------------------------------
bool gt_Achievement_PlayerHasKilledProtoss_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8880,6 +9289,7 @@ void gt_Achievement_PlayerHasKilledProtoss_Init () {
// Trigger: VictoryStat_LiberatorKills
//--------------------------------------------------------------------------------------------------
bool gt_VictoryStat_LiberatorKills_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8919,10 +9329,46 @@ void gt_VictoryStat_LiberatorKills_Init () {
TriggerAddEventUnitDied(gt_VictoryStat_LiberatorKills, null);
}
+//--------------------------------------------------------------------------------------------------
+// Trigger: Achievement - Victory without constructing Siege Tanks or Liberators
+//--------------------------------------------------------------------------------------------------
+bool gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ // Conditions
+ if (testConds) {
+ if (!((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1))) {
+ return false;
+ }
+
+ if (!((UnitGetOwner(EventUnitProgressUnit()) == gv_pLAYER_01_USER))) {
+ return false;
+ }
+
+ if (!(((UnitGetType(EventUnitProgressUnit()) == "SiegeTank") || (UnitGetType(EventUnitProgressUnit()) == "Liberator")))) {
+ return false;
+ }
+ }
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ gv_achievementConstructedSiegeTankOrLiberator = true;
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators_Init () {
+ gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators = TriggerCreate("gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators_Func");
+ TriggerAddEventUnitTrainProgress(gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators, null, c_unitProgressStageComplete);
+}
+
//--------------------------------------------------------------------------------------------------
// Trigger: Tip Ready Q
//--------------------------------------------------------------------------------------------------
bool gt_TipReadyQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libNCMI_gf_GameIsOver() == false))) {
@@ -8960,6 +9406,7 @@ void gt_TipReadyQ_Init () {
// Trigger: Objective Extract Terrazine Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExtractTerrazineCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -8989,6 +9436,7 @@ void gt_ObjectiveExtractTerrazineCreate_Init () {
// Trigger: Objective Extract Terrazine Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExtractTerrazineComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9020,6 +9468,7 @@ void gt_ObjectiveExtractTerrazineComplete_Init () {
// Trigger: Objective Extract Terrazine Update
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExtractTerrazineUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9039,6 +9488,7 @@ void gt_ObjectiveExtractTerrazineUpdate_Init () {
// Trigger: Objective Extract Terrazine Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExtractTerrazineFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9070,6 +9520,7 @@ void gt_ObjectiveExtractTerrazineFailed_Init () {
// Trigger: Objective Do Not Let Devices Be Destroyed Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDoNotLetDevicesBeDestroyedCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9099,6 +9550,7 @@ void gt_ObjectiveDoNotLetDevicesBeDestroyedCreate_Init () {
// Trigger: Objective Do Not Let Devices Be Destroyed Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDoNotLetDevicesBeDestroyedComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9130,6 +9582,7 @@ void gt_ObjectiveDoNotLetDevicesBeDestroyedComplete_Init () {
// Trigger: Objective Do Not Let Devices Be Destroyed Update
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDoNotLetDevicesBeDestroyedUpdate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9149,6 +9602,7 @@ void gt_ObjectiveDoNotLetDevicesBeDestroyedUpdate_Init () {
// Trigger: Objective Prevent Protoss Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectivePreventProtossFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9180,6 +9634,7 @@ void gt_ObjectivePreventProtossFailed_Init () {
// Trigger: Objective Explore Umojan Mine Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExploreUmojanMineCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9211,6 +9666,7 @@ void gt_ObjectiveExploreUmojanMineCreate_Init () {
// Trigger: Objective Explore Umojan Mine Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExploreUmojanMineComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9241,6 +9697,7 @@ void gt_ObjectiveExploreUmojanMineComplete_Init () {
// Trigger: Objective Explore Umojan Mine Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExploreUmojanMineFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9272,6 +9729,7 @@ void gt_ObjectiveExploreUmojanMineFailed_Init () {
// Trigger: Objective Explore Science Facility Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExploreScienceFacilityCreate_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9303,6 +9761,7 @@ void gt_ObjectiveExploreScienceFacilityCreate_Init () {
// Trigger: Objective Explore Science Facility Complete
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExploreScienceFacilityComplete_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9333,6 +9792,7 @@ void gt_ObjectiveExploreScienceFacilityComplete_Init () {
// Trigger: Objective Explore Science Facility Failed
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveExploreScienceFacilityFailed_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9364,6 +9824,7 @@ void gt_ObjectiveExploreScienceFacilityFailed_Init () {
// Trigger: Briefing Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_BriefingCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9401,6 +9862,7 @@ void gt_BriefingCinematic_Init () {
// Trigger: Briefing Base Holograms
//--------------------------------------------------------------------------------------------------
bool gt_BriefingBaseHolograms_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -9429,6 +9891,7 @@ void gt_BriefingBaseHolograms_Init () {
// Trigger: Briefing Q
//--------------------------------------------------------------------------------------------------
bool gt_BriefingQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9495,6 +9958,14 @@ bool gt_BriefingScene00DropZone_Func (bool testConds, bool runActions) {
fixed lv_voiceOverDurationTotal;
fixed lv_voiceOverFraction;
+ // Automatic Variable Declarations
+ unitgroup autoE1558EC6_g;
+ int autoE1558EC6_u;
+ unit autoE1558EC6_var;
+ unitgroup autoEFD6A382_g;
+ int autoEFD6A382_u;
+ unit autoEFD6A382_var;
+
// Variable Initialization
// Actions
@@ -9504,22 +9975,26 @@ bool gt_BriefingScene00DropZone_Func (bool testConds, bool runActions) {
lv_voiceOverDurationTotal = (SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova03|Line00001", true), c_soundIndexAny)) + SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova03|Line00002", true), c_soundIndexAny)));
lv_voiceOverFraction = (lv_voiceOverDurationTotal / 3.0);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ autoE1558EC6_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoE1558EC6_u = UnitGroupCount(autoE1558EC6_g, c_unitCountAll);
+ for (;; autoE1558EC6_u -= 1) {
+ autoE1558EC6_var = UnitGroupUnitFromEnd(autoE1558EC6_g, autoE1558EC6_u);
+ if (autoE1558EC6_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(autoE1558EC6_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, autoE1558EC6_var);
+ libNtve_gf_PauseUnit(autoE1558EC6_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ autoEFD6A382_g = gv_cinematicHiddenUnits;
+ autoEFD6A382_u = UnitGroupCount(autoEFD6A382_g, c_unitCountAll);
+ for (;; autoEFD6A382_u -= 1) {
+ autoEFD6A382_var = UnitGroupUnitFromEnd(autoEFD6A382_g, autoEFD6A382_u);
+ if (autoEFD6A382_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoEFD6A382_var, false);
}
- UnitGroupLoopEnd();
Wait(2.0, c_timeGame);
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(2082), 0.0, -1, 10, true);
TriggerExecute(gt_BreifingScene00DropZonePanning, true, false);
@@ -9546,6 +10021,47 @@ bool gt_BreifingScene00DropZonePanning_Func (bool testConds, bool runActions) {
fixed lv_voiceOverDurationTotal;
fixed lv_voiceOverFraction;
+ // Automatic Variable Declarations
+ unitgroup auto266717DB_g;
+ int auto266717DB_u;
+ unit auto266717DB_var;
+ unitgroup autoA5B2E2F9_g;
+ int autoA5B2E2F9_u;
+ unit autoA5B2E2F9_var;
+ unitgroup auto0E84B6E3_g;
+ int auto0E84B6E3_u;
+ unit auto0E84B6E3_var;
+ unitgroup auto5E2960D3_g;
+ int auto5E2960D3_u;
+ unit auto5E2960D3_var;
+ unitgroup auto55C3D76F_g;
+ int auto55C3D76F_u;
+ unit auto55C3D76F_var;
+ unitgroup auto5EC5D734_g;
+ int auto5EC5D734_u;
+ unit auto5EC5D734_var;
+ unitgroup autoD24ADE42_g;
+ int autoD24ADE42_u;
+ unit autoD24ADE42_var;
+ unitgroup auto746A2F52_g;
+ int auto746A2F52_u;
+ unit auto746A2F52_var;
+ unitgroup autoAD6BE263_g;
+ int autoAD6BE263_u;
+ unit autoAD6BE263_var;
+ unitgroup auto55B0DB9D_g;
+ int auto55B0DB9D_u;
+ unit auto55B0DB9D_var;
+ unitgroup auto9D068FB1_g;
+ int auto9D068FB1_u;
+ unit auto9D068FB1_var;
+ unitgroup autoCE37B54F_g;
+ int autoCE37B54F_u;
+ unit autoCE37B54F_var;
+ unitgroup autoD16F38B7_g;
+ int autoD16F38B7_u;
+ unit autoD16F38B7_var;
+
// Variable Initialization
// Actions
@@ -9553,88 +10069,114 @@ bool gt_BreifingScene00DropZonePanning_Func (bool testConds, bool runActions) {
return true;
}
- UnitGroupLoopBegin(UnitGroup("Probe", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
+ auto266717DB_g = UnitGroup("Probe", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto266717DB_u = UnitGroupCount(auto266717DB_g, c_unitCountAll);
+ for (;; auto266717DB_u -= 1) {
+ auto266717DB_var = UnitGroupUnitFromEnd(auto266717DB_g, auto266717DB_u);
+ if (auto266717DB_var == null) { break; }
+ libNtve_gf_PauseUnit(auto266717DB_var, false);
}
- UnitGroupLoopEnd();
libLbty_gf_OrderWorkerstoGatherNearbyResources(RegionEntireMap(), gv_pLAYER_02_PROTOSS_BULLIES);
- UnitGroupLoopBegin(UnitGroup("Scout", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("VoidRay", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("WarpPrism", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Stalker", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Immortal", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Zealot", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Colossus", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Carrier", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- UnitSetPosition(UnitGroupLoopCurrent(), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 4.0, 250.0), false);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 8.0, UnitGetFacing(UnitGroupLoopCurrent()))), c_orderQueueReplace);
- }
- UnitGroupLoopEnd();
+ autoA5B2E2F9_g = UnitGroup("Scout", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoA5B2E2F9_u = UnitGroupCount(autoA5B2E2F9_g, c_unitCountAll);
+ for (;; autoA5B2E2F9_u -= 1) {
+ autoA5B2E2F9_var = UnitGroupUnitFromEnd(autoA5B2E2F9_g, autoA5B2E2F9_u);
+ if (autoA5B2E2F9_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoA5B2E2F9_var, false);
+ }
+ auto0E84B6E3_g = UnitGroup("VoidRay", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto0E84B6E3_u = UnitGroupCount(auto0E84B6E3_g, c_unitCountAll);
+ for (;; auto0E84B6E3_u -= 1) {
+ auto0E84B6E3_var = UnitGroupUnitFromEnd(auto0E84B6E3_g, auto0E84B6E3_u);
+ if (auto0E84B6E3_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto0E84B6E3_var, false);
+ }
+ auto5E2960D3_g = UnitGroup("WarpPrism", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto5E2960D3_u = UnitGroupCount(auto5E2960D3_g, c_unitCountAll);
+ for (;; auto5E2960D3_u -= 1) {
+ auto5E2960D3_var = UnitGroupUnitFromEnd(auto5E2960D3_g, auto5E2960D3_u);
+ if (auto5E2960D3_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto5E2960D3_var, false);
+ }
+ auto55C3D76F_g = UnitGroup("Stalker", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto55C3D76F_u = UnitGroupCount(auto55C3D76F_g, c_unitCountAll);
+ for (;; auto55C3D76F_u -= 1) {
+ auto55C3D76F_var = UnitGroupUnitFromEnd(auto55C3D76F_g, auto55C3D76F_u);
+ if (auto55C3D76F_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto55C3D76F_var, false);
+ }
+ auto5EC5D734_g = UnitGroup("Immortal", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto5EC5D734_u = UnitGroupCount(auto5EC5D734_g, c_unitCountAll);
+ for (;; auto5EC5D734_u -= 1) {
+ auto5EC5D734_var = UnitGroupUnitFromEnd(auto5EC5D734_g, auto5EC5D734_u);
+ if (auto5EC5D734_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto5EC5D734_var, false);
+ }
+ autoD24ADE42_g = UnitGroup("Zealot", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoD24ADE42_u = UnitGroupCount(autoD24ADE42_g, c_unitCountAll);
+ for (;; autoD24ADE42_u -= 1) {
+ autoD24ADE42_var = UnitGroupUnitFromEnd(autoD24ADE42_g, autoD24ADE42_u);
+ if (autoD24ADE42_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoD24ADE42_var, false);
+ }
+ auto746A2F52_g = UnitGroup("Colossus", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto746A2F52_u = UnitGroupCount(auto746A2F52_g, c_unitCountAll);
+ for (;; auto746A2F52_u -= 1) {
+ auto746A2F52_var = UnitGroupUnitFromEnd(auto746A2F52_g, auto746A2F52_u);
+ if (auto746A2F52_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto746A2F52_var, false);
+ }
+ autoAD6BE263_g = UnitGroup("Carrier", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ autoAD6BE263_u = UnitGroupCount(autoAD6BE263_g, c_unitCountAll);
+ for (;; autoAD6BE263_u -= 1) {
+ autoAD6BE263_var = UnitGroupUnitFromEnd(autoAD6BE263_g, autoAD6BE263_u);
+ if (autoAD6BE263_var == null) { break; }
+ libNtve_gf_PauseUnit(autoAD6BE263_var, false);
+ UnitSetPosition(autoAD6BE263_var, PointWithOffsetPolar(UnitGetPosition(autoAD6BE263_var), 4.0, 250.0), false);
+ UnitIssueOrder(autoAD6BE263_var, OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(UnitGetPosition(autoAD6BE263_var), 8.0, UnitGetFacing(autoAD6BE263_var))), c_orderQueueReplace);
+ }
lv_voiceOverDurationTotal = (SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova05|Line00016", true), c_soundIndexAny)) + SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova05|Line00014", true), c_soundIndexAny)));
lv_voiceOverFraction = (lv_voiceOverDurationTotal / 3.0);
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(2082), 0.0, -1, 10, true);
CameraApplyInfo(gv_pLAYER_01_USER, CameraInfoFromId(2083), (lv_voiceOverDurationTotal * 2.0), -1, 10, true);
Wait(lv_voiceOverFraction, c_timeGame);
- UnitGroupLoopBegin(UnitGroup("Stalker", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 1), UnitGetPosition(UnitGroupLoopCurrent())), c_orderQueueReplace);
+ auto55B0DB9D_g = UnitGroup("Stalker", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto55B0DB9D_u = UnitGroupCount(auto55B0DB9D_g, c_unitCountAll);
+ for (;; auto55B0DB9D_u -= 1) {
+ auto55B0DB9D_var = UnitGroupUnitFromEnd(auto55B0DB9D_g, auto55B0DB9D_u);
+ if (auto55B0DB9D_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto55B0DB9D_var, false);
+ UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 1), UnitGetPosition(auto55B0DB9D_var)), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Colossus", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 15), UnitGetPosition(UnitGroupLoopCurrent())), c_orderQueueReplace);
+ auto9D068FB1_g = UnitGroup("Colossus", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto9D068FB1_u = UnitGroupCount(auto9D068FB1_g, c_unitCountAll);
+ for (;; auto9D068FB1_u -= 1) {
+ auto9D068FB1_var = UnitGroupUnitFromEnd(auto9D068FB1_g, auto9D068FB1_u);
+ if (auto9D068FB1_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto9D068FB1_var, false);
+ UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 15), UnitGetPosition(auto9D068FB1_var)), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("Immortal", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 2), UnitGetPosition(UnitGroupLoopCurrent())), c_orderQueueReplace);
+ autoCE37B54F_g = UnitGroup("Immortal", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoCE37B54F_u = UnitGroupCount(autoCE37B54F_g, c_unitCountAll);
+ for (;; autoCE37B54F_u -= 1) {
+ autoCE37B54F_var = UnitGroupUnitFromEnd(autoCE37B54F_g, autoCE37B54F_u);
+ if (autoCE37B54F_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoCE37B54F_var, false);
+ UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 2), UnitGetPosition(autoCE37B54F_var)), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
Wait(1.5, c_timeGame);
- UnitGroupLoopBegin(UnitGroup("Zealot", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
- UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), UnitGetPosition(UnitGroupLoopCurrent())), c_orderQueueReplace);
+ autoD16F38B7_g = UnitGroup("Zealot", gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ autoD16F38B7_u = UnitGroupCount(autoD16F38B7_g, c_unitCountAll);
+ for (;; autoD16F38B7_u -= 1) {
+ autoD16F38B7_var = UnitGroupUnitFromEnd(autoD16F38B7_g, autoD16F38B7_u);
+ if (autoD16F38B7_var == null) { break; }
+ libNtve_gf_ShowHideUnit(autoD16F38B7_var, false);
+ UnitIssueOrder(UnitFromId(1437), OrderTargetingPoint(AbilityCommand("SuperWarpGateTrain", 0), UnitGetPosition(autoD16F38B7_var)), c_orderQueueReplace);
Wait(0.125, c_timeGame);
}
- UnitGroupLoopEnd();
return true;
}
@@ -9650,6 +10192,14 @@ bool gt_BriefingScene02ExtractionDevices_Func (bool testConds, bool runActions)
// Variable Declarations
fixed lv_voiceOverDurationTotal;
+ // Automatic Variable Declarations
+ unitgroup auto32663F7A_g;
+ int auto32663F7A_u;
+ unit auto32663F7A_var;
+ unitgroup auto186334E2_g;
+ int auto186334E2_u;
+ unit auto186334E2_var;
+
// Variable Initialization
// Actions
@@ -9658,23 +10208,27 @@ bool gt_BriefingScene02ExtractionDevices_Func (bool testConds, bool runActions)
}
libNtve_gf_ShowHideUnit(UnitFromId(528), false);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionCircle(PointFromId(2090), 45.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_06_TERRAZINE)) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto32663F7A_g = UnitGroup(null, c_playerAny, RegionCircle(PointFromId(2090), 45.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto32663F7A_u = UnitGroupCount(auto32663F7A_g, c_unitCountAll);
+ for (;; auto32663F7A_u -= 1) {
+ auto32663F7A_var = UnitGroupUnitFromEnd(auto32663F7A_g, auto32663F7A_u);
+ if (auto32663F7A_var == null) { break; }
+ if ((UnitGetOwner(auto32663F7A_var) != gv_pLAYER_06_TERRAZINE)) {
+ UnitRemove(auto32663F7A_var);
}
}
- UnitGroupLoopEnd();
Wait(0.0625, c_timeGame);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionCircle(PointFromId(2090), 45.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetOwner(UnitGroupLoopCurrent()) != gv_pLAYER_06_TERRAZINE)) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto186334E2_g = UnitGroup(null, c_playerAny, RegionCircle(PointFromId(2090), 45.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto186334E2_u = UnitGroupCount(auto186334E2_g, c_unitCountAll);
+ for (;; auto186334E2_u -= 1) {
+ auto186334E2_var = UnitGroupUnitFromEnd(auto186334E2_g, auto186334E2_u);
+ if (auto186334E2_var == null) { break; }
+ if ((UnitGetOwner(auto186334E2_var) != gv_pLAYER_06_TERRAZINE)) {
+ UnitRemove(auto186334E2_var);
}
}
- UnitGroupLoopEnd();
CreepModify(PointFromId(2090), 45.0, false, true);
CreepModify(PointFromId(2090), 45.0, false, false);
lv_voiceOverDurationTotal = (SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova05|Line00019", true), c_soundIndexAny)) + SoundLengthSync(SoundLink(ConversationDataGetSound("Briefing_Nova05|Line00015", true), c_soundIndexAny)));
@@ -9705,6 +10259,7 @@ bool gt_BreifingScene02ExtractionDevicesPanning_Func (bool testConds, bool runAc
unitgroup lv_liberatorGroup;
unit lv_raven;
+ // Automatic Variable Declarations
// Variable Initialization
lv_liberatorGroup = UnitGroupEmpty();
@@ -9770,6 +10325,7 @@ bool gt_BreifingScene02ExtractionDevicesAssault_Func (bool testConds, bool runAc
unitgroup lv_liberatorGroup;
unit lv_raven;
+ // Automatic Variable Declarations
// Variable Initialization
lv_liberatorGroup = UnitGroupEmpty();
@@ -9799,6 +10355,11 @@ bool gt_BriefingScene03SignsofLife_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_voiceOverDurationTotal;
+ // Automatic Variable Declarations
+ unitgroup auto608C1B45_g;
+ int auto608C1B45_u;
+ unit auto608C1B45_var;
+
// Variable Initialization
// Actions
@@ -9807,16 +10368,18 @@ bool gt_BriefingScene03SignsofLife_Func (bool testConds, bool runActions) {
}
libNtve_gf_ShowHideUnit(UnitFromId(528), false);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionCircle(PointFromId(2107), 45.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((UnitGetType(UnitGroupLoopCurrent()) != "JarbanInfestibleColonistHut")) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto608C1B45_g = UnitGroup(null, c_playerAny, RegionCircle(PointFromId(2107), 45.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto608C1B45_u = UnitGroupCount(auto608C1B45_g, c_unitCountAll);
+ for (;; auto608C1B45_u -= 1) {
+ auto608C1B45_var = UnitGroupUnitFromEnd(auto608C1B45_g, auto608C1B45_u);
+ if (auto608C1B45_var == null) { break; }
+ if ((UnitGetType(auto608C1B45_var) != "JarbanInfestibleColonistHut")) {
+ UnitRemove(auto608C1B45_var);
}
else {
- UnitBehaviorRemove(UnitGroupLoopCurrent(), "ColonyInfestation", 1);
+ UnitBehaviorRemove(auto608C1B45_var, "ColonyInfestation", 1);
}
}
- UnitGroupLoopEnd();
CreepModify(PointFromId(2107), 45.0, false, true);
CreepModify(PointFromId(2107), 45.0, false, false);
Wait(2.0, c_timeGame);
@@ -9839,6 +10402,7 @@ void gt_BriefingScene03SignsofLife_Init () {
// Trigger: Intro Q
//--------------------------------------------------------------------------------------------------
bool gt_IntroQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -9870,12 +10434,34 @@ void gt_IntroQ_Init () {
// Trigger: Intro Setup
//--------------------------------------------------------------------------------------------------
bool gt_IntroSetup_Func (bool testConds, bool runActions) {
- string autoDB3473E2_val;
-
// Variable Declarations
unitgroup lv_mineralGroup;
unit lv_targertedMinerals;
+ // Automatic Variable Declarations
+ unitgroup auto11B21E61_g;
+ int auto11B21E61_u;
+ unit auto11B21E61_var;
+ unitgroup auto6CFC510E_g;
+ int auto6CFC510E_u;
+ unit auto6CFC510E_var;
+ unitgroup auto5ADB5797_g;
+ int auto5ADB5797_u;
+ unit auto5ADB5797_var;
+ unitgroup auto756DD7AE_g;
+ int auto756DD7AE_u;
+ unit auto756DD7AE_var;
+ unitgroup auto6FDF1C1A_g;
+ int auto6FDF1C1A_u;
+ unit auto6FDF1C1A_var;
+ unitgroup auto4523F031_g;
+ int auto4523F031_u;
+ unit auto4523F031_var;
+ unitgroup autoDE9165BB_g;
+ int autoDE9165BB_u;
+ unit autoDE9165BB_var;
+ string autoDB3473E2_val;
+
// Variable Initialization
lv_mineralGroup = UnitGroupEmpty();
@@ -9888,50 +10474,60 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
libNCMI_gf_CinematicModeCampaign(true, c_transitionDurationImmediate, true);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false) && (libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(82)) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto11B21E61_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto11B21E61_u = UnitGroupCount(auto11B21E61_g, c_unitCountAll);
+ for (;; auto11B21E61_u -= 1) {
+ auto11B21E61_var = UnitGroupUnitFromEnd(auto11B21E61_g, auto11B21E61_u);
+ if (auto11B21E61_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto11B21E61_var) == false) && (libNtve_gf_UnitInRegion(auto11B21E61_var, RegionFromId(82)) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto11B21E61_var);
+ libNtve_gf_PauseUnit(auto11B21E61_var, true);
}
else {
- if (((UnitGroupLoopCurrent() == UnitFromId(1633)) || (UnitGroupLoopCurrent() == UnitFromId(252)) || (UnitGroupLoopCurrent() == UnitFromId(253)))) {
- UnitGroupAdd(gv_introPlayerUnits, UnitGroupLoopCurrent());
+ if (((auto11B21E61_var == UnitFromId(1633)) || (auto11B21E61_var == UnitFromId(252)) || (auto11B21E61_var == UnitFromId(253)))) {
+ UnitGroupAdd(gv_introPlayerUnits, auto11B21E61_var);
}
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), RegionFromId(82)) == false)) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ auto6CFC510E_g = gv_cinematicHiddenUnits;
+ auto6CFC510E_u = UnitGroupCount(auto6CFC510E_g, c_unitCountAll);
+ for (;; auto6CFC510E_u -= 1) {
+ auto6CFC510E_var = UnitGroupUnitFromEnd(auto6CFC510E_g, auto6CFC510E_u);
+ if (auto6CFC510E_var == null) { break; }
+ if ((libNtve_gf_UnitInRegion(auto6CFC510E_var, RegionFromId(82)) == false)) {
+ libNtve_gf_ShowHideUnit(auto6CFC510E_var, false);
}
}
- UnitGroupLoopEnd();
libNtve_gf_ShowHideUnit(UnitFromId(288), false);
libNtve_gf_ShowHideUnit(UnitFromId(289), false);
libNtve_gf_ShowHideUnit(UnitFromId(151), false);
- UnitGroupLoopBegin(UnitGroup("MineralField", 0, null, UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup("VespeneGeyser", 0, null, UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(UnitGroup(null, gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
+ auto5ADB5797_g = UnitGroup("MineralField", 0, null, UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto5ADB5797_u = UnitGroupCount(auto5ADB5797_g, c_unitCountAll);
+ for (;; auto5ADB5797_u -= 1) {
+ auto5ADB5797_var = UnitGroupUnitFromEnd(auto5ADB5797_g, auto5ADB5797_u);
+ if (auto5ADB5797_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto5ADB5797_var, true);
+ }
+ auto756DD7AE_g = UnitGroup("VespeneGeyser", 0, null, UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto756DD7AE_u = UnitGroupCount(auto756DD7AE_g, c_unitCountAll);
+ for (;; auto756DD7AE_u -= 1) {
+ auto756DD7AE_var = UnitGroupUnitFromEnd(auto756DD7AE_g, auto756DD7AE_u);
+ if (auto756DD7AE_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto756DD7AE_var, true);
+ }
+ auto6FDF1C1A_g = UnitGroup(null, gv_pLAYER_02_PROTOSS_BULLIES, RegionFromId(1), UnitFilter(0, (1 << (c_targetFilterHidden - 32)), (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto6FDF1C1A_u = UnitGroupCount(auto6FDF1C1A_g, c_unitCountAll);
+ for (;; auto6FDF1C1A_u -= 1) {
+ auto6FDF1C1A_var = UnitGroupUnitFromEnd(auto6FDF1C1A_g, auto6FDF1C1A_u);
+ if (auto6FDF1C1A_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto6FDF1C1A_var, true);
+ libNtve_gf_PauseUnit(auto6FDF1C1A_var, false);
+ }
libNtve_gf_CreateUnitsAtPoint2(1, "NovaShip", c_unitCreateIgnorePlacement, gv_pLAYER_01_USER, PointFromId(2071));
UnitGroupAdd(gv_cinematicTempUnits, UnitLastCreated());
gv_introCineShip = UnitLastCreated();
@@ -9953,32 +10549,36 @@ bool gt_IntroSetup_Func (bool testConds, bool runActions) {
gv_introGas[1] = libNtve_gf_UnitGetPropertyResources(UnitFromId(9), c_unitPropCurrent);
libLbty_gf_OrderWorkerstoGatherNearbyResources(RegionFromId(1), gv_pLAYER_02_PROTOSS_BULLIES);
UnitGroupAddUnitGroup(lv_mineralGroup, UnitGroup("MineralField", c_playerAny, RegionFromId(82), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- UnitGroupLoopBegin(UnitGroup("SCV", gv_pLAYER_01_USER, RegionFromId(82), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- lv_targertedMinerals = UnitGroupClosestToPoint(lv_mineralGroup, UnitGetPosition(UnitGroupLoopCurrent()));
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingUnit(null, lv_targertedMinerals), c_orderQueueReplace);
+ auto4523F031_g = UnitGroup("SCV", gv_pLAYER_01_USER, RegionFromId(82), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
+ auto4523F031_u = UnitGroupCount(auto4523F031_g, c_unitCountAll);
+ for (;; auto4523F031_u -= 1) {
+ auto4523F031_var = UnitGroupUnitFromEnd(auto4523F031_g, auto4523F031_u);
+ if (auto4523F031_var == null) { break; }
+ lv_targertedMinerals = UnitGroupClosestToPoint(lv_mineralGroup, UnitGetPosition(auto4523F031_var));
+ UnitIssueOrder(auto4523F031_var, OrderTargetingUnit(null, lv_targertedMinerals), c_orderQueueReplace);
UnitGroupRemove(lv_mineralGroup, lv_targertedMinerals);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_introPlayerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- autoDB3473E2_val = UnitGetType(UnitGroupLoopCurrent());
+ autoDE9165BB_g = gv_introPlayerUnits;
+ autoDE9165BB_u = UnitGroupCount(autoDE9165BB_g, c_unitCountAll);
+ for (;; autoDE9165BB_u -= 1) {
+ autoDE9165BB_var = UnitGroupUnitFromEnd(autoDE9165BB_g, autoDE9165BB_u);
+ if (autoDE9165BB_var == null) { break; }
+ autoDB3473E2_val = UnitGetType(autoDE9165BB_var);
if (autoDB3473E2_val == "BarracksFlying") {
- UnitSetPosition(UnitGroupLoopCurrent(), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 3.0, 225.0), false);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("BarracksLand", 0), PointFromId(243)), c_orderQueueReplace);
+ UnitSetPosition(autoDE9165BB_var, PointWithOffsetPolar(UnitGetPosition(autoDE9165BB_var), 3.0, 225.0), false);
+ UnitIssueOrder(autoDE9165BB_var, OrderTargetingPoint(AbilityCommand("BarracksLand", 0), PointFromId(243)), c_orderQueueReplace);
}
else if (autoDB3473E2_val == "StarportFlying") {
- UnitSetPosition(UnitGroupLoopCurrent(), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 3.8, 225.0), false);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("StarportLand", 0), PointFromId(242)), c_orderQueueReplace);
+ UnitSetPosition(autoDE9165BB_var, PointWithOffsetPolar(UnitGetPosition(autoDE9165BB_var), 3.8, 225.0), false);
+ UnitIssueOrder(autoDE9165BB_var, OrderTargetingPoint(AbilityCommand("StarportLand", 0), PointFromId(242)), c_orderQueueReplace);
}
else if (autoDB3473E2_val == "FactoryFlying") {
- UnitSetPosition(UnitGroupLoopCurrent(), PointWithOffsetPolar(UnitGetPosition(UnitGroupLoopCurrent()), 4.5, 225.0), false);
- UnitIssueOrder(UnitGroupLoopCurrent(), OrderTargetingPoint(AbilityCommand("FactoryLand", 0), PointFromId(1639)), c_orderQueueReplace);
+ UnitSetPosition(autoDE9165BB_var, PointWithOffsetPolar(UnitGetPosition(autoDE9165BB_var), 4.5, 225.0), false);
+ UnitIssueOrder(autoDE9165BB_var, OrderTargetingPoint(AbilityCommand("FactoryLand", 0), PointFromId(1639)), c_orderQueueReplace);
}
else {
}
}
- UnitGroupLoopEnd();
return true;
}
@@ -9991,6 +10591,7 @@ void gt_IntroSetup_Init () {
// Trigger: Intro Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_IntroCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -10033,6 +10634,7 @@ bool gt_IntroCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -10062,6 +10664,20 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
+ unitgroup auto32F11588_g;
+ int auto32F11588_u;
+ unit auto32F11588_var;
+ unitgroup auto82529B02_g;
+ int auto82529B02_u;
+ unit auto82529B02_var;
+ unitgroup autoE7CE1573_g;
+ int autoE7CE1573_u;
+ unit autoE7CE1573_var;
+ unitgroup autoDE1C20C8_g;
+ int autoDE1C20C8_u;
+ unit autoDE1C20C8_var;
+
// Variable Initialization
// Actions
@@ -10070,21 +10686,27 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
}
libNCMI_gf_StopCinematicSounds();
- UnitGroupLoopBegin(gv_cinematicTempUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ auto32F11588_g = gv_cinematicTempUnits;
+ auto32F11588_u = UnitGroupCount(auto32F11588_g, c_unitCountAll);
+ for (;; auto32F11588_u -= 1) {
+ auto32F11588_var = UnitGroupUnitFromEnd(auto32F11588_g, auto32F11588_u);
+ if (auto32F11588_var == null) { break; }
+ UnitRemove(auto32F11588_var);
+ }
+ auto82529B02_g = gv_cinematicHiddenUnits;
+ auto82529B02_u = UnitGroupCount(auto82529B02_g, c_unitCountAll);
+ for (;; auto82529B02_u -= 1) {
+ auto82529B02_var = UnitGroupUnitFromEnd(auto82529B02_g, auto82529B02_u);
+ if (auto82529B02_var == null) { break; }
+ libNtve_gf_ShowHideUnit(auto82529B02_var, true);
+ }
+ autoE7CE1573_g = gv_cinematicPausedUnits;
+ autoE7CE1573_u = UnitGroupCount(autoE7CE1573_g, c_unitCountAll);
+ for (;; autoE7CE1573_u -= 1) {
+ autoE7CE1573_var = UnitGroupUnitFromEnd(autoE7CE1573_g, autoE7CE1573_u);
+ if (autoE7CE1573_var == null) { break; }
+ libNtve_gf_PauseUnit(autoE7CE1573_var, false);
}
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), true);
- }
- UnitGroupLoopEnd();
- UnitGroupLoopBegin(gv_cinematicPausedUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), false);
- }
- UnitGroupLoopEnd();
GameTimeOfDayPause(false);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, true);
CameraShakeStop(gv_pLAYER_01_USER);
@@ -10092,11 +10714,13 @@ bool gt_IntroCleanup_Func (bool testConds, bool runActions) {
VisExploreArea(gv_pLAYER_01_USER, RegionFromId(3), true, false);
RegionPlayableMapSet(RegionFromId(76));
if ((gv_cinematicCompleted == false)) {
- UnitGroupLoopBegin(gv_introPlayerUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- UnitRemove(UnitGroupLoopCurrent());
+ autoDE1C20C8_g = gv_introPlayerUnits;
+ autoDE1C20C8_u = UnitGroupCount(autoDE1C20C8_g, c_unitCountAll);
+ for (;; autoDE1C20C8_u -= 1) {
+ autoDE1C20C8_var = UnitGroupUnitFromEnd(autoDE1C20C8_g, autoDE1C20C8_u);
+ if (autoDE1C20C8_var == null) { break; }
+ UnitRemove(autoDE1C20C8_var);
}
- UnitGroupLoopEnd();
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Factory", c_unitCreateIgnorePlacement, gv_pLAYER_01_USER, PointFromId(1639));
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Barracks", c_unitCreateIgnorePlacement, gv_pLAYER_01_USER, PointFromId(243));
libNtve_gf_CreateUnitsWithDefaultFacing(1, "Starport", c_unitCreateIgnorePlacement, gv_pLAYER_01_USER, PointFromId(242));
@@ -10163,6 +10787,7 @@ bool gt_FlyInForces_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_griffin;
+ // Automatic Variable Declarations
// Variable Initialization
// Conditions
@@ -10205,6 +10830,7 @@ void gt_FlyInForces_Init () {
// Trigger: Fly In Griffin
//--------------------------------------------------------------------------------------------------
bool gt_FlyInGriffin_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -10268,6 +10894,7 @@ void gt_FlyInGriffin_Init () {
// Trigger: Victory Q
//--------------------------------------------------------------------------------------------------
bool gt_VictoryQ_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -10300,6 +10927,14 @@ void gt_VictoryQ_Init () {
// Trigger: Victory Setup
//--------------------------------------------------------------------------------------------------
bool gt_VictorySetup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
+ unitgroup auto726B61FC_g;
+ int auto726B61FC_u;
+ unit auto726B61FC_var;
+ unitgroup auto5B06091C_g;
+ int auto5B06091C_u;
+ unit auto5B06091C_var;
+
// Actions
if (!runActions) {
return true;
@@ -10310,31 +10945,35 @@ bool gt_VictorySetup_Func (bool testConds, bool runActions) {
UnitClearSelection(gv_pLAYER_01_USER);
PlayerSetState(gv_pLAYER_01_USER, c_playerStateXPGain, false);
GameTimeOfDayPause(true);
- UnitGroupLoopBegin(UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0));
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitIsPaused(UnitGroupLoopCurrent()) == false)) {
- UnitGroupAdd(gv_cinematicPausedUnits, UnitGroupLoopCurrent());
- libNtve_gf_PauseUnit(UnitGroupLoopCurrent(), true);
+ auto726B61FC_g = UnitGroup(null, c_playerAny, null, UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
+ auto726B61FC_u = UnitGroupCount(auto726B61FC_g, c_unitCountAll);
+ for (;; auto726B61FC_u -= 1) {
+ auto726B61FC_var = UnitGroupUnitFromEnd(auto726B61FC_g, auto726B61FC_u);
+ if (auto726B61FC_var == null) { break; }
+ if ((libNtve_gf_UnitIsPaused(auto726B61FC_var) == false)) {
+ UnitGroupAdd(gv_cinematicPausedUnits, auto726B61FC_var);
+ libNtve_gf_PauseUnit(auto726B61FC_var, true);
}
}
- UnitGroupLoopEnd();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), gv_cinematicHiddenUnits);
- UnitGroupLoopBegin(gv_cinematicHiddenUnits);
- for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
- if ((libNtve_gf_UnitInRegion(UnitGroupLoopCurrent(), gv_victoryRegion[gv_victoryIndex]) != true) && (UnitGetOwner(UnitGroupLoopCurrent()) == gv_pLAYER_01_USER)) {
- UnitGroupRemove(gv_cinematicHiddenUnits, UnitGroupLoopCurrent());
+ auto5B06091C_g = gv_cinematicHiddenUnits;
+ auto5B06091C_u = UnitGroupCount(auto5B06091C_g, c_unitCountAll);
+ for (;; auto5B06091C_u -= 1) {
+ auto5B06091C_var = UnitGroupUnitFromEnd(auto5B06091C_g, auto5B06091C_u);
+ if (auto5B06091C_var == null) { break; }
+ if ((libNtve_gf_UnitInRegion(auto5B06091C_var, gv_victoryRegion[gv_victoryIndex]) != true) && (UnitGetOwner(auto5B06091C_var) == gv_pLAYER_01_USER)) {
+ UnitGroupRemove(gv_cinematicHiddenUnits, auto5B06091C_var);
continue;
}
- if ((UnitGetType(UnitGroupLoopCurrent()) != "NovaTerrazineTank")) {
- libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), false);
+ if ((UnitGetType(auto5B06091C_var) != "NovaTerrazineTank")) {
+ libNtve_gf_ShowHideUnit(auto5B06091C_var, false);
}
}
- UnitGroupLoopEnd();
gv_victoryCamera[1][1] = CameraInfoFromId(3001);
gv_victoryCamera[1][2] = CameraInfoFromId(3081);
gv_victoryCamera[1][3] = CameraInfoFromId(2829);
@@ -10401,6 +11040,7 @@ void gt_VictorySetup_Init () {
// Trigger: Victory Cinematic
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCinematic_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -10445,6 +11085,7 @@ bool gt_VictoryCinematicEnd_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeDuration;
+ // Automatic Variable Declarations
// Variable Initialization
// Actions
@@ -10471,6 +11112,7 @@ void gt_VictoryCinematicEnd_Init () {
// Trigger: Victory Cleanup
//--------------------------------------------------------------------------------------------------
bool gt_VictoryCleanup_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
@@ -10491,6 +11133,7 @@ void gt_VictoryCleanup_Init () {
// Trigger: Victory Griffin Animation and SFX
//--------------------------------------------------------------------------------------------------
bool gt_VictoryGriffinAnimationandSFX_Func (bool testConds, bool runActions) {
+ // Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
@@ -10637,6 +11280,7 @@ void InitTriggers () {
gt_DefeatCheat_Init();
gt_Achievement_PlayerHasKilledProtoss_Init();
gt_VictoryStat_LiberatorKills_Init();
+ gt_AchievementVictorywithoutconstructingSiegeTanksorLiberators_Init();
gt_TipReadyQ_Init();
gt_ObjectiveExtractTerrazineCreate_Init();
gt_ObjectiveExtractTerrazineComplete_Init();
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Minimap.tga b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Minimap.tga
index 76e569d28f..aa3406fe2a 100644
Binary files a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Minimap.tga and b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Minimap.tga differ
diff --git a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Objects b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Objects
index 2ed248fe90..ff89bc3ad0 100644
--- a/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Objects
+++ b/mods/novastoryassets.sc2mod/base2.sc2maps/maps/campaign/nova/nova05.sc2map/Objects
@@ -1,1057 +1,1680 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
-
-
-
-
+
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
+
+
-
+
-
-
+
-
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
+
-
-
+
+
-
+
+
-
+
+
-
+
+
+
+
+
+
+
+
-
+
-
-
+
-
+
+
+
-
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
-
+
-
+
+
-
+
-
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
+
-
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
-
+
-
-
+
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
-
+
-
+
+
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1059,379 +1682,508 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -1441,5940 +2193,5967 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
+
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
+
+
-
-
+
+
+
-
+
+
+
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
-
-
+
-
-
+
+
-
+
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
-
-
-
+
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
+
+
+
+
+
-
+
+
+
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
-
-
-
-
+
+