diff --git a/Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/UpgradeData.xml b/Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/UpgradeData.xml
index 855efba68..91faec764 100644
--- a/Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/UpgradeData.xml
+++ b/Mods/ArchipelagoPlayer.SC2Mod/Base.SC2Data/GameData/UpgradeData.xml
@@ -14999,10 +14999,10 @@
-
-
-
-
+
+
+
+
@@ -17278,4 +17278,168 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B.galaxy b/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B.galaxy
index d9e892b20..533aed878 100644
--- a/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B.galaxy
+++ b/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B.galaxy
@@ -9201,6 +9201,21 @@ void libABFE498B_gf_AP_Triggers_giveShieldRegeneration (int lp_player, int lp_st
}
+void libABFE498B_gf_AP_Triggers_giveBuildingSpeed (int lp_player, int lp_level) {
+ // Variable Declarations
+ int lv__1stacks;
+ int lv__100stacks;
+
+ // Automatic Variable Declarations
+ // Variable Initialization
+ lv__1stacks = ModI(lp_level, 100);
+ lv__100stacks = (lp_level / 100);
+
+ // Implementation
+ libNtve_gf_SetUpgradeLevelForPlayer(lp_player, "AP_BuildingFastBuild", lv__1stacks);
+ libNtve_gf_SetUpgradeLevelForPlayer(lp_player, "AP_BuildingFastBuild100Stack", lv__100stacks);
+}
+
void libABFE498B_gf_AP_Triggers_replaceUpgrade (int lp_player, string lp_oldUpgrade, string lp_newUpgrade) {
// Automatic Variable Declarations
// Implementation
@@ -9633,6 +9648,42 @@ void libABFE498B_gt_AP_Triggers_giveProtossTech_Init () {
TriggerAddEventChatMessage(libABFE498B_gt_AP_Triggers_giveProtossTech, c_playerAny, "?GiveProtossTech", false);
}
+//--------------------------------------------------------------------------------------------------
+// Trigger: AP_Triggers_giveMiscTech
+//--------------------------------------------------------------------------------------------------
+bool libABFE498B_gt_AP_Triggers_giveMiscTech_Func (bool testConds, bool runActions) {
+ // Variable Declarations
+ int lv_currentPlayer;
+ string lv_buildingSpeedValue;
+
+ // Automatic Variable Declarations
+ playergroup autoA7A687E2_g;
+
+ // Variable Initialization
+ lv_buildingSpeedValue = "";
+
+ // Actions
+ if (!runActions) {
+ return true;
+ }
+
+ lv_buildingSpeedValue = StringWord(EventChatMessage(false), 2);
+ autoA7A687E2_g = lib5BD4895D_gv_aP_Core_affectedPlayers;
+ lv_currentPlayer = -1;
+ while (true) {
+ lv_currentPlayer = PlayerGroupNextPlayer(autoA7A687E2_g, lv_currentPlayer);
+ if (lv_currentPlayer < 0) { break; }
+ libABFE498B_gf_AP_Triggers_giveBuildingSpeed(lv_currentPlayer, StringToInt(lv_buildingSpeedValue));
+ }
+ return true;
+}
+
+//--------------------------------------------------------------------------------------------------
+void libABFE498B_gt_AP_Triggers_giveMiscTech_Init () {
+ libABFE498B_gt_AP_Triggers_giveMiscTech = TriggerCreate("libABFE498B_gt_AP_Triggers_giveMiscTech_Func");
+ TriggerAddEventChatMessage(libABFE498B_gt_AP_Triggers_giveMiscTech, c_playerAny, "?GiveMiscTech", false);
+}
+
//--------------------------------------------------------------------------------------------------
// Trigger: AP_Triggers_techTreeInit
//--------------------------------------------------------------------------------------------------
@@ -9812,6 +9863,7 @@ void libABFE498B_InitTriggers () {
libABFE498B_gt_AP_Triggers_giveTerranTech_Init();
libABFE498B_gt_AP_Triggers_giveZergTech_Init();
libABFE498B_gt_AP_Triggers_giveProtossTech_Init();
+ libABFE498B_gt_AP_Triggers_giveMiscTech_Init();
libABFE498B_gt_AP_Triggers_techTreeInit_Init();
libABFE498B_gt_UpgradeProtossStructures_Init();
libABFE498B_gt_AP_Triggers_tradeNydusBuilt_Init();
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B_h.galaxy b/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B_h.galaxy
index fe9ff588c..308ae4016 100644
--- a/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B_h.galaxy
+++ b/Mods/ArchipelagoTriggers.SC2Mod/Base.SC2Data/LibABFE498B_h.galaxy
@@ -948,6 +948,7 @@ void libABFE498B_gf_AP_Triggers_Protoss_unlockStargate (int lp_player);
void libABFE498B_gf_AP_Triggers_clearProtossTech (int lp_player);
void libABFE498B_gf_AP_Triggers_giveProtossDefaultTech (int lp_player);
void libABFE498B_gf_AP_Triggers_giveShieldRegeneration (int lp_player, int lp_stacks);
+void libABFE498B_gf_AP_Triggers_giveBuildingSpeed (int lp_player, int lp_level);
void libABFE498B_gf_AP_Triggers_replaceUpgrade (int lp_player, string lp_oldUpgrade, string lp_newUpgrade);
// Trigger Declarations
@@ -956,6 +957,7 @@ trigger libABFE498B_gt_AP_Triggers_setOptions;
trigger libABFE498B_gt_AP_Triggers_giveTerranTech;
trigger libABFE498B_gt_AP_Triggers_giveZergTech;
trigger libABFE498B_gt_AP_Triggers_giveProtossTech;
+trigger libABFE498B_gt_AP_Triggers_giveMiscTech;
trigger libABFE498B_gt_AP_Triggers_techTreeInit;
trigger libABFE498B_gt_UpgradeProtossStructures;
trigger libABFE498B_gt_AP_Triggers_tradeNydusBuilt;
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/DocumentHeader b/Mods/ArchipelagoTriggers.SC2Mod/DocumentHeader
index 6368a2a3c..b3a44475f 100644
Binary files a/Mods/ArchipelagoTriggers.SC2Mod/DocumentHeader and b/Mods/ArchipelagoTriggers.SC2Mod/DocumentHeader differ
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/GameText.version b/Mods/ArchipelagoTriggers.SC2Mod/GameText.version
index efb543eec..5512b2023 100644
Binary files a/Mods/ArchipelagoTriggers.SC2Mod/GameText.version and b/Mods/ArchipelagoTriggers.SC2Mod/GameText.version differ
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/Triggers b/Mods/ArchipelagoTriggers.SC2Mod/Triggers
index 24ae1a384..516d168ef 100644
--- a/Mods/ArchipelagoTriggers.SC2Mod/Triggers
+++ b/Mods/ArchipelagoTriggers.SC2Mod/Triggers
@@ -5039,6 +5039,7 @@
+
@@ -9712,11 +9713,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ?GiveMiscTech
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -79114,6 +79232,129 @@
0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 100
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AP_BuildingFastBuild
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AP_BuildingFastBuild100Stack
+
+
+
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/Triggers.version b/Mods/ArchipelagoTriggers.SC2Mod/Triggers.version
index 0335f4a5e..e1a26b601 100644
Binary files a/Mods/ArchipelagoTriggers.SC2Mod/Triggers.version and b/Mods/ArchipelagoTriggers.SC2Mod/Triggers.version differ
diff --git a/Mods/ArchipelagoTriggers.SC2Mod/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Mods/ArchipelagoTriggers.SC2Mod/enUS.SC2Data/LocalizedData/TriggerStrings.txt
index ba904da61..2809789a9 100644
--- a/Mods/ArchipelagoTriggers.SC2Mod/enUS.SC2Data/LocalizedData/TriggerStrings.txt
+++ b/Mods/ArchipelagoTriggers.SC2Mod/enUS.SC2Data/LocalizedData/TriggerStrings.txt
@@ -75,6 +75,7 @@ Category/Name/lib_ABFE498B_AC2C746D=Warhound
Category/Name/lib_ABFE498B_B2B07AA2=KerriganOptions
Category/Name/lib_ABFE498B_B63B6727=Battlecruiser
Category/Name/lib_ABFE498B_B7EB43C1=SwarmQueen
+Category/Name/lib_ABFE498B_B8893127=Misc
Category/Name/lib_ABFE498B_BA29A57D=Devourer
Category/Name/lib_ABFE498B_BA5A7A4F=Hellion
Category/Name/lib_ABFE498B_BB33C686=BileLauncher
@@ -663,6 +664,7 @@ FunctionDef/Name/lib_ABFE498B_A510A47F=AP_Triggers_Terran_unlockBunker
FunctionDef/Name/lib_ABFE498B_A55BB2D6=AP_Triggers_Terran_unlockDiamondbackProgressiveTriLithiumPowerCell
FunctionDef/Name/lib_ABFE498B_A568C04D=AP_Triggers_Zerg_SwarmHostBurrow
FunctionDef/Name/lib_ABFE498B_A580862B=AP_Triggers_Terran_unlockHiSecAutoTracking
+FunctionDef/Name/lib_ABFE498B_A5D5531B=AP_Triggers_giveBuildingSpeed
FunctionDef/Name/lib_ABFE498B_A5FA163C=AP_Triggers_Zerg_unlockInfestedSiegeBreaker
FunctionDef/Name/lib_ABFE498B_A6091B36=AP_Triggers_Protoss_unlockSuperiorWarpGates
FunctionDef/Name/lib_ABFE498B_A643BA8C=AP_Triggers_Protoss_unlockDarkTemplarShakuras
@@ -984,6 +986,7 @@ ParamDef/Name/lib_ABFE498B_031AD56F=player
ParamDef/Name/lib_ABFE498B_03B62DA4=player
ParamDef/Name/lib_ABFE498B_03C0CBB3=player
ParamDef/Name/lib_ABFE498B_04DD94A9=player
+ParamDef/Name/lib_ABFE498B_053EE644=level
ParamDef/Name/lib_ABFE498B_056993F4=player
ParamDef/Name/lib_ABFE498B_0576222A=player
ParamDef/Name/lib_ABFE498B_058588E9=player
@@ -1092,6 +1095,7 @@ ParamDef/Name/lib_ABFE498B_2286D958=player
ParamDef/Name/lib_ABFE498B_229D166A=player
ParamDef/Name/lib_ABFE498B_22A58B94=player
ParamDef/Name/lib_ABFE498B_22E05BD4=player
+ParamDef/Name/lib_ABFE498B_231AADD4=player
ParamDef/Name/lib_ABFE498B_2338F085=player
ParamDef/Name/lib_ABFE498B_23525B50=player
ParamDef/Name/lib_ABFE498B_240D46D5=player
@@ -1901,6 +1905,7 @@ ParamDef/Name/lib_ABFE498B_FFCBC34E=player
Trigger/Name/lib_ABFE498B_15BC943E=AP_Triggers_InitSoA
Trigger/Name/lib_ABFE498B_251CB9EA=AP_Triggers_techTreeInit
Trigger/Name/lib_ABFE498B_4F60B833=AP_Triggers_PatchesInit
+Trigger/Name/lib_ABFE498B_6972EE17=AP_Triggers_giveMiscTech
Trigger/Name/lib_ABFE498B_929D05B5=AP_Triggers_giveProtossTech
Trigger/Name/lib_ABFE498B_95EB6553=AP_Triggers_tradeNydusBuilt
Trigger/Name/lib_ABFE498B_C495BBBC=AP_Triggers_giveTerranTech
@@ -1918,6 +1923,7 @@ Variable/Name/lib_ABFE498B_08801FBF=AP_Triggers_Terran_hasBanshee
Variable/Name/lib_ABFE498B_0CCA3825=AP_Triggers_onDifficultyCasual
Variable/Name/lib_ABFE498B_0D7B4949=AP_Triggers_Protoss_has_Energizer
Variable/Name/lib_ABFE498B_0EA94B78=enableTrade
+Variable/Name/lib_ABFE498B_0F0D283D=buildingSpeedValue
Variable/Name/lib_ABFE498B_0F2909FC=mutation1Value
Variable/Name/lib_ABFE498B_0F481473=AP_Triggers_Protoss_has_Tempest
Variable/Name/lib_ABFE498B_0FAF9046=AP_Triggers_Protoss_has_Annihilator
@@ -1929,6 +1935,7 @@ Variable/Name/lib_ABFE498B_224863BA=kerriganOptions
Variable/Name/lib_ABFE498B_232483FD=buildingValue
Variable/Name/lib_ABFE498B_2652A7C0=AP_Triggers_Option_KerriganPrimalStatusByMap
Variable/Name/lib_ABFE498B_27194D81=AP_Triggers_MapConfig_Kerrigan_HandledByMap
+Variable/Name/lib_ABFE498B_280FBED8=currentPlayer
Variable/Name/lib_ABFE498B_2AADFD9B=kerriganLevelValue
Variable/Name/lib_ABFE498B_2D06BD73=allInVariant
Variable/Name/lib_ABFE498B_2E161DD6=buildingValue
@@ -1976,6 +1983,7 @@ Variable/Name/lib_ABFE498B_4F2C5082=unit
Variable/Name/lib_ABFE498B_4F660184=AP_Triggers_Protoss_has_StalkerShakuras
Variable/Name/lib_ABFE498B_50E9FC36=AP_Triggers_Option_SoAPresenceAutocasts
Variable/Name/lib_ABFE498B_53A2FE67=AP_Triggers_MapConfig_MISSION_LOTV_PROTOSS
+Variable/Name/lib_ABFE498B_5415E72B=1stacks
Variable/Name/lib_ABFE498B_54607318=AP_Triggers_Terran_hasGoliath
Variable/Name/lib_ABFE498B_55F7A1F1=storyTech
Variable/Name/lib_ABFE498B_5613E176=armory7Value
@@ -2095,6 +2103,7 @@ Variable/Name/lib_ABFE498B_EF2C067D=progressiveValue
Variable/Name/lib_ABFE498B_EF9D5B96=shieldRegenValue
Variable/Name/lib_ABFE498B_F05A9299=currentPlayer
Variable/Name/lib_ABFE498B_F124F462=warCouncil2Value
+Variable/Name/lib_ABFE498B_F2BE6168=100stacks
Variable/Name/lib_ABFE498B_F312F427=forge3Value
Variable/Name/lib_ABFE498B_F388C068=AP_Triggers_Protoss_has_Reaver
Variable/Name/lib_ABFE498B_F4DB053C=AP_Triggers_Terran_hasRaven