# Allow/Disallow Upgrade For Player

GrammarinAllow|Allow/Disallow inUpgrade for player inPlayer
FlagsNative | Action

Allows or disallows an upgrade to be used by the specified player. This is only useful if tech restrictions have been enabled using “Enable/Disable Tech Tree Restrictions”. If the upgrade has a tech requirement, the requirement must still be met for the player to use the upgrade.

# Arguments

  • int — Player
  • string [ gamelink::Upgrade ] — Upgrade
  • bool [ preset::AllowDisallowOption ] — Allow

Returns — void

native void TechTreeUpgradeAllow(
	int player,
	string upgradeType,
	bool allow,
);

Category: Tech Tree / Individual Restrictions

# Examples

# campaigns/liberty.sc2campaign

MapScript.galaxy

// L536
TechTreeUpgradeAllow(gv_pLAYER_USER, "PsiStormTech", true)
// L538
TechTreeUpgradeAllow(gv_pLAYER_USER, "haltech", true)
// L607
TechTreeUpgradeAllow(gv_pLAYER_P09_HORNER, "OrbitalRelay", true)
// L607
TechTreeUpgradeAllow(gv_pLAYER_P09_HORNER, "OrbitalRelay", true)
// L536
TechTreeUpgradeAllow(gv_pLAYER_USER, "PsiStormTech", true)
// L538
TechTreeUpgradeAllow(gv_pLAYER_USER, "haltech", true)

# campaigns/libertystory.sc2campaign

CampaignLib.galaxy

// L7085
TechTreeUpgradeAllow(lv_player, "BlinkTech", true)
// L7092
TechTreeUpgradeAllow(lv_player, "ProtossGroundArmorsLevel1", true)
// L7093
TechTreeUpgradeAllow(lv_player, "ProtossGroundWeaponsLevel1", true)
// L7094
TechTreeUpgradeAllow(lv_player, "ProtossShieldsLevel1", true)
// L7095
TechTreeUpgradeAllow(lv_player, "Charge", true)
// L7096
TechTreeUpgradeAllow(lv_player, "VoidRaySpeedUpgrade", true)
// L7097
TechTreeUpgradeAllow(lv_player, "ExtendedThermalLance", true)
// L7106
TechTreeUpgradeAllow(lv_player, "ProtossGroundArmorsLevel2", true)
// L7107
TechTreeUpgradeAllow(lv_player, "ProtossGroundWeaponsLevel2", true)
// L7108
TechTreeUpgradeAllow(lv_player, "ProtossShieldsLevel2", true)

# campaigns/swarm.sc2campaign

MapScript.galaxy

// L779
TechTreeUpgradeAllow(gv_pLAYER_02_TERRAN_RED, "HailstormMissilePods", true)
// L780
TechTreeUpgradeAllow(gv_pLAYER_03_TERRAN_TEAL, "HailstormMissilePods", true)
// L1145
TechTreeUpgradeAllow(auto49D74679_var, "NeoSteelAndShrikeTurretIconUpgrade", true)
// L1147
TechTreeUpgradeAllow(auto49D74679_var, "NeoSteelFrame", true)
// L1149
TechTreeUpgradeAllow(auto49D74679_var, "ShrikeTurret", true)
// L1151
TechTreeUpgradeAllow(auto49D74679_var, "ClusterWarheads", true)
// L1152
TechTreeUpgradeAllow(auto49D74679_var, "DualFusionWelders", true)
// L1153
TechTreeUpgradeAllow(auto49D74679_var, "FireSuppressionSystems", true)
// L1319
TechTreeUpgradeAllow(auto25770434_var, "JackhammerConcussionGrenades", true)
// L1336
TechTreeUpgradeAllow(auto16DEC3D3_var, "TwinLinkedFlameThrowers", true)
// L1338
TechTreeUpgradeAllow(auto16DEC3D3_var, "ClusterWarheads", true)
// L1518
TechTreeUpgradeAllow(auto34BD469C_var, "CombatShield", true)
// L1520
TechTreeUpgradeAllow(auto34BD469C_var, "JackhammerConcussionGrenades", true)
// L779
TechTreeUpgradeAllow(gv_pLAYER_02_TERRAN_RED, "HailstormMissilePods", true)
// L780
TechTreeUpgradeAllow(gv_pLAYER_03_TERRAN_TEAL, "HailstormMissilePods", true)
// L1145
TechTreeUpgradeAllow(auto49D74679_var, "NeoSteelAndShrikeTurretIconUpgrade", true)
// L1147
TechTreeUpgradeAllow(auto49D74679_var, "NeoSteelFrame", true)
// L1149
TechTreeUpgradeAllow(auto49D74679_var, "ShrikeTurret", true)
// L1151
TechTreeUpgradeAllow(auto49D74679_var, "ClusterWarheads", true)
// L1152
TechTreeUpgradeAllow(auto49D74679_var, "DualFusionWelders", true)
// L1153
TechTreeUpgradeAllow(auto49D74679_var, "FireSuppressionSystems", true)
// L1319
TechTreeUpgradeAllow(auto25770434_var, "JackhammerConcussionGrenades", true)
// L1336
TechTreeUpgradeAllow(auto16DEC3D3_var, "TwinLinkedFlameThrowers", true)
// L1338
TechTreeUpgradeAllow(auto16DEC3D3_var, "ClusterWarheads", true)
// L1518
TechTreeUpgradeAllow(auto34BD469C_var, "CombatShield", true)
// L1520
TechTreeUpgradeAllow(auto34BD469C_var, "JackhammerConcussionGrenades", true)
// L697
TechTreeUpgradeAllow(gv_pLAYER_03_ZERG_BULLIES, "overlordtransport", true)
// L699
TechTreeUpgradeAllow(gv_pLAYER_03_ZERG_BULLIES, "overlordspeed", true)
// L869
TechTreeUpgradeAllow(gv_pLAYER_02_DOMINION, "overlordtransport", true)
// L871
TechTreeUpgradeAllow(gv_pLAYER_02_DOMINION, "overlordspeed", true)
// L697
TechTreeUpgradeAllow(gv_pLAYER_03_ZERG_BULLIES, "overlordtransport", true)
// L699
TechTreeUpgradeAllow(gv_pLAYER_03_ZERG_BULLIES, "overlordspeed", true)
// L869
TechTreeUpgradeAllow(gv_pLAYER_02_DOMINION, "overlordtransport", true)
// L871
TechTreeUpgradeAllow(gv_pLAYER_02_DOMINION, "overlordspeed", true)

# mods/missionpacks/novacampaign.sc2mod

LibNovC.galaxy

// L2110
TechTreeUpgradeAllow(lp_player, "CycloneAirUpgrade", false)
// L2134
TechTreeUpgradeAllow(lp_player, "TerranInfantryArmorsLevel1", true)
// L2135
TechTreeUpgradeAllow(lp_player, "TerranInfantryWeaponsLevel1", true)
// L2137
TechTreeUpgradeAllow(lp_player, "TerranVehicleAndShipArmorsLevel1", true)
// L2138
TechTreeUpgradeAllow(lp_player, "TerranVehicleAndShipWeaponsLevel1", true)
// L2142
TechTreeUpgradeAllow(lp_player, "TerranVehicleAndShipArmorsLevel2", true)
// L2143
TechTreeUpgradeAllow(lp_player, "TerranVehicleAndShipWeaponsLevel2", true)
// L2144
TechTreeUpgradeAllow(lp_player, "TerranInfantryArmorsLevel2", true)
// L2145
TechTreeUpgradeAllow(lp_player, "TerranInfantryWeaponsLevel2", true)
// L2149
TechTreeUpgradeAllow(lp_player, "TerranVehicleAndShipArmorsLevel3", true)

# mods/warcoop/warcoopdata.sc2mod

WarCoopData.galaxy

// L2395
TechTreeUpgradeAllow(lp_player, (lv_to), true)
// L3122
TechTreeUpgradeAllow(lv_player, "Rhpm", false)
// L3123
TechTreeUpgradeAllow(lv_player, "Rupm", false)
// L3124
TechTreeUpgradeAllow(lv_player, "Repm", false)
// L3125
TechTreeUpgradeAllow(lv_player, "Ropm", false)