# Race Of Player

Grammar — Race of player p
FlagsNative | Function

Returns the race of the player.

# Arguments

  • int — Player

Returns — string<gamelink::Race>

native string PlayerRace(int inPlayer);

Category: Player / Player Settings

# Examples

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian02b.sc2map/MapScript.galaxy:364

    }

    if ((PlayerRace(UnitGetOwner(lp_victim)) == "Zerg")) {
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies6", 1);
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies9", 1);

campaigns/liberty.sc2campaignbase.sc2maps/maps/campaign/tvalerian02b.sc2map/MapScript.galaxy:391

    }

    if ((PlayerRace(UnitGetOwner(lp_victim)) == "Zerg")) {
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies6", 1);
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies9", 1);

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian02b.sc2mapMapScript.galaxy:364

    }

    if ((PlayerRace(UnitGetOwner(lp_victim)) == "Zerg")) {
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies6", 1);
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies9", 1);

campaigns/liberty.sc2campaign/base.sc2maps/maps/campaign/tvalerian02b.sc2mapMapScript.galaxy:391

    }

    if ((PlayerRace(UnitGetOwner(lp_victim)) == "Zerg")) {
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies6", 1);
        UnitBehaviorRemove(lp_victim, "ZergBuildingDies9", 1);

campaigns/swarmstory.sc2campaignbase.sc2data/TriggerLibs/SwarmCampaignLib.galaxy:2615

    TimerWindowSetAnchor(TimerWindowLastCreated(), c_anchorTop, 0, -12);
    if ((lp_positiveNegativeOptions == libSwaC_ge_CampaignTimerPositiveNegativeOptions_Positive)) {
        if ((PlayerRace(1) == "Terr")) {
            TimerWindowSetColor(TimerWindowLastCreated(), c_timerWindowColorTime, Color(42.75, 68.24, 16.86), 0.0);
        }

campaigns/swarmstory.sc2campaignbase.sc2data/TriggerLibs/SwarmCampaignLib.galaxy:3499

        auto5D3E40F6_var = PlayerGroupNextPlayer(auto5D3E40F6_g, auto5D3E40F6_var);
        if (auto5D3E40F6_var < 0) { break; }
        auto2B44BE14_val = PlayerRace(auto5D3E40F6_var);
        if (auto2B44BE14_val == "Prot") {
            SoundPlay(SoundLink("UI_TerranPing", -1), PlayerGroupSingle(auto5D3E40F6_var), 100.0, 0.0);

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1123

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto2456DC0D_val = PlayerRace(gv_p01_USER);
        if (auto2456DC0D_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1173

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        autoB52B579A_val = PlayerRace(gv_p01_USER);
        if (autoB52B579A_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1223

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        autoFEB18E27_val = PlayerRace(gv_p01_USER);
        if (autoFEB18E27_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1273

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto176509E0_val = PlayerRace(gv_p01_USER);
        if (auto176509E0_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1325

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto7E439253_val = PlayerRace(gv_p01_USER);
        if (auto7E439253_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1376

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        autoD3B30290_val = PlayerRace(gv_p01_USER);
        if (autoD3B30290_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1426

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto0AFBB58E_val = PlayerRace(gv_p01_USER);
        if (auto0AFBB58E_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1484


    // Implementation
    auto3F1549D6_val = PlayerRace(gv_p01_USER);
    if (auto3F1549D6_val == "Terr") {
        lv_reticleType = libVCMI_ge_CampaginReticleType_TerranMainObjective;

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1518


    // Implementation
    auto0DF42322_val = PlayerRace(gv_p01_USER);
    if (auto0DF42322_val == "Terr") {
        lv_reticleType = libVCMI_ge_CampaginReticleType_TerranMainObjective;

campaigns/void.sc2campaignbase.sc2maps/maps/campaign/sc2tutorial.sc2map/MapScript.galaxy:1628

    }
    else if (auto555A9B0A_val == "VespeneGeyser") {
        auto326C7AC6_val = PlayerRace(gv_p01_USER);
        if (auto326C7AC6_val == "Terr") {
            libVCMI_gf_SetUnitInfoTextCampaignDetailed(lp_cHOSEN_UNIT, StringExternal("Param/Value/89EE4EA0"), UnitTypeGetName(UnitGetType(lp_cHOSEN_UNIT)), StringExternal("Param/Value/AB84D224"));

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1123

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto2456DC0D_val = PlayerRace(gv_p01_USER);
        if (auto2456DC0D_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1173

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        autoB52B579A_val = PlayerRace(gv_p01_USER);
        if (autoB52B579A_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1223

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        autoFEB18E27_val = PlayerRace(gv_p01_USER);
        if (autoFEB18E27_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1273

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto176509E0_val = PlayerRace(gv_p01_USER);
        if (auto176509E0_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1325

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto7E439253_val = PlayerRace(gv_p01_USER);
        if (auto7E439253_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1376

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        autoD3B30290_val = PlayerRace(gv_p01_USER);
        if (autoD3B30290_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1426

    // Implementation
    if ((gv_textTagAnchor == c_invalidDialogId)) {
        auto0AFBB58E_val = PlayerRace(gv_p01_USER);
        if (auto0AFBB58E_val == "Terr") {
            lv_backgroundImage = "Assets\\Textures\\ui_ingame_tutorial_textborder_terr.dds";

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1484


    // Implementation
    auto3F1549D6_val = PlayerRace(gv_p01_USER);
    if (auto3F1549D6_val == "Terr") {
        lv_reticleType = libVCMI_ge_CampaginReticleType_TerranMainObjective;

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1518


    // Implementation
    auto0DF42322_val = PlayerRace(gv_p01_USER);
    if (auto0DF42322_val == "Terr") {
        lv_reticleType = libVCMI_ge_CampaginReticleType_TerranMainObjective;

campaigns/void.sc2campaign/base.sc2maps/maps/campaign/sc2tutorial.sc2mapMapScript.galaxy:1628

    }
    else if (auto555A9B0A_val == "VespeneGeyser") {
        auto326C7AC6_val = PlayerRace(gv_p01_USER);
        if (auto326C7AC6_val == "Terr") {
            libVCMI_gf_SetUnitInfoTextCampaignDetailed(lp_cHOSEN_UNIT, StringExternal("Param/Value/89EE4EA0"), UnitTypeGetName(UnitGetType(lp_cHOSEN_UNIT)), StringExternal("Param/Value/AB84D224"));

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignMissionLib.galaxy:1845


    // Implementation
    auto1C944BDB_val = PlayerRace(lp_player);
    if (auto1C944BDB_val == "Prot") {
        lv_townHallGroup = UnitGroup("Nexus", lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterUnderConstruction - 32)) | (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignMissionLib.galaxy:4066

        autoC51461E9_var = PlayerGroupNextPlayer(autoC51461E9_g, autoC51461E9_var);
        if (autoC51461E9_var < 0) { break; }
        autoC47256CC_val = PlayerRace(autoC51461E9_var);
        if (autoC47256CC_val == "Prot") {
            SoundPlay(SoundLink("UI_TerranPing", -1), PlayerGroupSingle(autoC51461E9_var), 100.0, 0.0);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignMissionLib.galaxy:5033

    // Conditions
    if (testConds) {
        if (!((PlayerRace(1) == "Prot"))) {
            return false;
        }

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:1416

    TriggerEnable(libVCUI_gt_PU_ArchivesMissionPlayClicked, true);
    TriggerEnable(libVCUI_gt_PU_ArchivesCloseClicked, true);
    if ((PlayerRace(1) != "Prot")) {
        PlayerSetRace(1, "Prot");
    }

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:1689

    // Automatic Variable Declarations
    // Implementation
    if ((PlayerRace(1) != "Terr")) {
        PlayerSetRace(1, "Terr");
        Wait(0.1, c_timeGame);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:3806

    libNtve_gf_SetDialogItemRenderPriority(libVCUI_gv_pU_VoidHeroUIDialogEnergyBarBackground[lp_index], 505, PlayerGroupAll());
    libNtve_gf_SetDialogItemRenderPriority(libVCUI_gv_pU_VoidHeroUIDialogHealthBarBackground[lp_index], 505, PlayerGroupAll());
    if ((PlayerRace(1) == "Prot")) {
        libNtve_gf_SetDialogItemRenderPriority(libVCUI_gv_pU_VoidHeroUIDialogShieldBarBackground[lp_index], 505, PlayerGroupAll());
        libNtve_gf_SetDialogItemRenderPriority(libVCUI_gv_pU_VoidHeroUIDialogShieldBarImage[lp_index], 507, PlayerGroupAll());

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:3962

        DialogControlSetVisible(libVCUI_gv_pU_VoidHeroUIDialogHealthBarImage[lp_index], PlayerGroupAll(), false);
    }
    if ((PlayerRace(1) == "Prot")) {
        if (((UnitGetPropertyFixed(libVCUI_gv_pU_VoidHeroUIUnit[lp_index], c_unitPropShieldsMax, c_unitPropCurrent) > 0) || (libVCUI_gf_PU_HeroHasShields(libVCUI_gv_pU_VoidHeroUIType[lp_index]) == true))) {
            DialogControlSetVisible(libVCUI_gv_pU_VoidHeroUIDialogShieldBarBackground[lp_index], PlayerGroupAll(), true);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:5246

    TriggerEnable(libVCUI_gt_PU_TimerWindowLoadUpdate, true);
    libVCUI_gf_FlashTimerWindow(8.0, false);
    auto2D681054_val = PlayerRace(1);
    if (auto2D681054_val == "Prot") {
        TimerWindowSetProgressColor(TimerWindowLastCreated(), Color(100.00, 100.00, 0.00), 1);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:9207


    while (true) {
        autoCFD98E36_val = PlayerRace(1);
        if (autoCFD98E36_val == "Prot") {
            DialogControlInvokeAsText(libVCUI_gv_pU_ArmyButtonTipPanel, PlayerGroupAll(), "PlayArmyTip_Prot", StringExternal("Param/Value/lib_VCUI_034F4713"), null, null, null);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:9287


    TriggerStop(libVCUI_gt_PU_FlashArmyButtonHelpTip);
    autoBCDDD362_val = PlayerRace(1);
    if (autoBCDDD362_val == "Prot") {
        DialogControlInvokeAsText(libVCUI_gv_pU_ArmyButtonTipPanel, PlayerGroupAll(), "CloseArmyTip_Prot", StringExternal("Param/Value/lib_VCUI_F2711687"), null, null, null);

campaigns/voidstory.sc2campaignbase.sc2data/TriggerLibs/VoidCampaignUILib.galaxy:9849

    }

    if ((libVCUI_gv_pU_VoidHeroUIType[1] == libVCUI_ge_CampaignHeroes_Kerrigan) && (PlayerRace(1) == "Terr")) {
        DialogControlSendAnimationEvent(libVCUI_gv_pU_VoidHeroUIPanel[1], PlayerGroupAll(), "SwitchZerg");
        TriggerEnable(TriggerGetCurrent(), false);

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:277

    // Implementation
    libNtve_gf_DisplayScreenButton(lp_screenButtonID, StringExternal("Param/Value/lib_Chal_577A6474"), 350, 114, c_anchorRight, 10, -280, lp_runTrigger);
    autoB3A9F369_val = PlayerRace(lp_player);
    if (autoB3A9F369_val == "Prot") {
        libNtve_gf_SetDialogItemImage(libNtve_gf_ScreenButton(lp_screenButtonID), "Assets\\Textures\\ui_mission_hackingbuttonglow_normalpressed_protoss.dds", PlayerGroupAll());

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:325


    // Implementation
    lv_race = PlayerRace(1);
    libChal_gv_cHL_VPWavePanelTitle = lp_wavePanelTitle;
    libChal_gv_cHL_VictoryPanelContinue = lp_continueTrigger;

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:609


    // Implementation
    lv_race = PlayerRace(1);
    libChal_gf_CHL_VPUpdateWavePanel();
    libChal_gf_CHL_VPUpdateAchievePanel();

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:683


    // Implementation
    lv_race = PlayerRace(1);
    if ((libChal_gv_cHL_VictoryPanelDlg == c_invalidDialogId)) {
        return ;

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:745


    // Implementation
    lv_race = PlayerRace(1);
    if ((libChal_gv_cHL_VictoryPanelDlg == c_invalidDialogId)) {
        return ;

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:871


    // Implementation
    lv_race = PlayerRace(1);
    if ((libChal_gv_cHL_VictoryPanelDlg == c_invalidDialogId)) {
        return ;

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:983


    // Implementation
    lv_race = PlayerRace(1);
    libChal_gv_cHL_DefeatPanelContinue = lp_continueTrigger;
    libChal_gv_cHL_DefeatPanelRetry = lp_retryTrigger;

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:1187


    // Implementation
    lv_race = PlayerRace(1);
    libChal_gf_CHL_DPUpdateWavePanel();
    if ((libChal_gv_cHL_DefeatPanelWaveCount > 0)) {

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:1246


    // Implementation
    lv_race = PlayerRace(1);
    if ((libChal_gv_cHL_DefeatPanelDlg == c_invalidDialogId)) {
        return ;

mods/challenges.sc2modbase.sc2data/LibChal.galaxy:1294


    // Implementation
    lv_race = PlayerRace(1);
    if ((libChal_gv_cHL_DefeatPanelDlg == c_invalidDialogId)) {
        return ;

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:193

    
    if (DEBUG_ATTACK_STATE) {
        msg = "Player " + IntToString(player) + "-" + PlayerRace(player) + " attack state " + 
            AttackStateName(oldState) + " -> " + AttackStateName(attackState);
        DebugAI(msg);

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:211


    if (DEBUG_MAIN_STATE) {
        msg = "Player " + IntToString(player) + "-" + PlayerRace(player) + " main state " + 
            MainStateName(oldMainState) + "(" + IntToString(oldSubState) + ") --> " + 
            MainStateName(mainState)  + "(" + IntToString(mainSubState) + ")";

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:223

void EndMeleeScript (int player) {
    string msg = "Reached end of script for player " + IntToString(player) + "-" + 
        PlayerRace(player) + " : More AI code coming soon.";
    UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringToText(msg));
    DebugAI(msg);

mods/core.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:234

void ErrorMeleeScript (int player, string error) {
    string msg = "A script logic error occurred for player " + IntToString(player) +
        "-" + PlayerRace(player) + " : " + error;
    UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringToText(msg));
    DebugAI(msg);

mods/missionpacks/campaigncommon.sc2modbase.sc2data/LibComC.galaxy:2841

    }

    auto259EDC9B_val = PlayerRace(1);
    if (auto259EDC9B_val == "Terr") {
        TechTreeUnitHelp(1, "SCV", true);

mods/missionpacks/campaigncommon.sc2modbase.sc2data/LibComC.galaxy:2864

    }

    HelpPanelShowTechTreeRace(PlayerGroupAll(), PlayerRace(1), true);
}

mods/missionpacks/novacampaign.sc2modbase.sc2data/LibNCMI.galaxy:2647


    // Implementation
    auto1C944BDB_val = PlayerRace(lp_player);
    if (auto1C944BDB_val == "Prot") {
        lv_townHallGroup = UnitGroup("Nexus", lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterUnderConstruction - 32)) | (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);

mods/missionpacks/novacampaign.sc2modbase.sc2data/LibNCMI.galaxy:3618


    // Implementation
    auto0417C543_val = PlayerRace(lp_player);
    if (auto0417C543_val == "Prot") {
        UnitGroupAddUnitGroup(lv_nexusGroup, UnitGroup("Nexus", lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));

mods/missionpacks/novacampaign.sc2modbase.sc2data/LibNCMI.galaxy:4164

    PlayerGroupLoopBegin(lp_players);
    for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
        autoC47256CC_val = PlayerRace(PlayerGroupLoopCurrent());
        if (autoC47256CC_val == "Prot") {
            SoundPlay(SoundLink("UI_TerranPing", -1), PlayerGroupSingle(PlayerGroupLoopCurrent()), 100.0, 0.0);

mods/missionpacks/novacampaign.sc2modbase.sc2data/LibNCUI.galaxy:3697

    TriggerEnable(libNCUI_gt_NU_TimerWindowLoadUpdate, true);
    libNCUI_gf_FlashTimerWindow(8.0, false);
    auto2D681054_val = PlayerRace(1);
    if (auto2D681054_val == "Prot") {
        TimerWindowSetProgressColor(TimerWindowLastCreated(), Color(100.00, 100.00, 0.00), 1);

mods/missionpacks/novacampaign.sc2modbase.sc2data/LibNCUI.galaxy:6443


    while (true) {
        autoCFD98E36_val = PlayerRace(1);
        if (autoCFD98E36_val == "Prot") {
            DialogControlInvokeAsText(libNCUI_gv_NU_ArmyButtonTipPanel, PlayerGroupAll(), "PlayArmyTip_Prot", StringExternal("Param/Value/lib_NCUI_034F4713"), null, null, null);

mods/missionpacks/novacampaign.sc2modbase.sc2data/LibNCUI.galaxy:6520


    TriggerStop(libNCUI_gt_NU_FlashArmyButtonHelpTip);
    autoBCDDD362_val = PlayerRace(1);
    if (autoBCDDD362_val == "Prot") {
        DialogControlInvokeAsText(libNCUI_gv_NU_ArmyButtonTipPanel, PlayerGroupAll(), "CloseArmyTip_Prot", StringExternal("Param/Value/lib_NCUI_F2711687"), null, null, null);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:470

        autoC51461E9_var = PlayerGroupNextPlayer(autoC51461E9_g, autoC51461E9_var);
        if (autoC51461E9_var < 0) { break; }
        autoC47256CC_val = PlayerRace(autoC51461E9_var);
        if (autoC47256CC_val == "Prot") {
            SoundPlay(SoundLink("UI_TerranPing", -1), lp_players, 100.0, 0.0);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:2619

        lv_playerIter = PlayerGroupNextPlayer(auto85E16615_g, lv_playerIter);
        if (lv_playerIter < 0) { break; }
        if ((PlayerRace(lv_playerIter) != "Terr") && (libCOMI_gv_cM_CoopAI_AIDetection_AttackWaveAddDetection == true)) {
            autoAFAD9377_val = PlayerRace(lv_playerIter);
            if (autoAFAD9377_val == "Prot") {

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:2620

        if (lv_playerIter < 0) { break; }
        if ((PlayerRace(lv_playerIter) != "Terr") && (libCOMI_gv_cM_CoopAI_AIDetection_AttackWaveAddDetection == true)) {
            autoAFAD9377_val = PlayerRace(lv_playerIter);
            if (autoAFAD9377_val == "Prot") {
                lv_aIDetector = "Observer";

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:2969

    lv_indexUnitType -= 1;
    if ((libCOMI_gf_AISuspectDetectionDanger(lp_player) == true)) {
        autoA31F433D_val = PlayerRace(lp_player);
        if (autoA31F433D_val == "Prot") {
            lv_aIDetector = "Observer";

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:3105

    }
    libCOMI_gf_CM_CoopAI_Upgrades(lp_player);
    autoE426A4D3_val = PlayerRace(lp_player);
    if (autoE426A4D3_val == "Terr") {
        AISetStockUnitNext(lp_player, 6, "SCV", false);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:3117

    else {
    }
    if ((PlayerRace(lp_player) == "Terr")) {
        if (((AITechCount(lp_player, "Ghost", c_techCountCompleteOnly) > 0) || (AITechCount(lp_player, "Spectre", c_techCountCompleteOnly) > 0))) {
            AISetStock(lp_player, libCOMI_gf_DifficultyValueInt2(libCOMI_gf_DifficultyLevelForPlayerCoop(lp_player), 0, 0, 1, 2, 3, 4), "Nuke");

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:7612

    }

    auto11CC9962_val = PlayerRace(lp_player);
    if (auto11CC9962_val == "Prot") {
        if ((TechTreeUpgradeCount(lp_player, "FenixCommander", c_techCountCompleteOnly) == 1)) {

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:7887

            UnitCreateEffectUnit(libCOMI_gv_cM_HeroReviver[lp_player], "CopyTargetSelectionAndControlGroups", libCOMI_gv_cM_HeroUnit[lp_player]);
        }
        if ((PlayerRace(lp_player) == "Zerg") && (libCOOC_gf_CC_CommanderHeroReviveUnitType(libCOOC_gf_ActiveCommanderForPlayer(lp_player)) != libCOOC_gf_CC_CommanderHeroStructureType(libCOOC_gf_ActiveCommanderForPlayer(lp_player)))) {
            UnitCreateEffectUnit(libCOMI_gf_CM_PrimaryTownHall(lp_player), "CopyHatcheryRally", libCOMI_gv_cM_HeroReviver[lp_player]);
        }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:10613

        }
        else {
            lv_adjutantRace = PlayerRace(lv_indexPlayer);
        }
        auto11F928C9_val = lv_adjutantRace;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMI.galaxy:11448


    // Implementation
    auto1EA0163E_val = PlayerRace(lp_player);
    if (auto1EA0163E_val == "Prot") {
        UnitGroupAddUnitGroup(lv_nexusGroup, UnitGroup("Nexus", lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2935

    }
    else if (auto6C6B2DF5_val == 3) {
        if ((PlayerRace(lp_giftPlayer) == "Terr")) {
            UnitCreate(1, "HERC", 0, lp_giftPlayer, lp_giftLocation, libNtve_gf_RandomAngle());
            libCOMI_gf_CreateDropPod(libCOMI_ge_DropPodRace_Terran, lp_giftLocation, UnitLastCreatedGroup(), false, lp_giftPlayer);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:2940

            libCOUI_gf_CU_MutatorListShowNotificationToPlayer(StringExternal("Param/Value/lib_COMU_A5D5B2B5"), lp_giftPlayer);
        }
        else if ((PlayerRace(lp_giftPlayer) == "Prot")) {
            UnitCreate(1, "Scout", 0, lp_giftPlayer, lp_giftLocation, libNtve_gf_RandomAngle());
            libCOMI_gf_CM_CoopAIPlayer_FakeWarpIn2(UnitLastCreated());

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:7637

        lv_indexPlayer = PlayerGroupNextPlayer(autoA5A3C408_g, lv_indexPlayer);
        if (lv_indexPlayer < 0) { break; }
        auto512CE2B9_val = PlayerRace(lv_indexPlayer);
        if (auto512CE2B9_val == "Terr") {
            SoundtrackDefault(PlayerGroupSingle(lv_indexPlayer), c_soundtrackCategoryMusic, "Music_TerrHalloween", c_soundtrackCueAny, c_soundtrackIndexAny);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:7889

        lv_indexPlayer = PlayerGroupNextPlayer(auto63C3F758_g, lv_indexPlayer);
        if (lv_indexPlayer < 0) { break; }
        auto3B5EA457_val = PlayerRace(lv_indexPlayer);
        if (auto3B5EA457_val == "Terr") {
            SoundtrackDefault(PlayerGroupAll(), c_soundtrackCategoryMusic, "Music_TerrChristmas_Festive", c_soundtrackCueAny, c_soundtrackIndexAny);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOMU.galaxy:8219

        lv_indexPlayer = PlayerGroupNextPlayer(auto40EED1B3_g, lv_indexPlayer);
        if (lv_indexPlayer < 0) { break; }
        autoDC620749_val = PlayerRace(lv_indexPlayer);
        if (autoDC620749_val == "Terr") {
            SoundtrackDefault(PlayerGroupAll(), c_soundtrackCategoryMusic, "Music_TerranRedEnvelope", c_soundtrackCueAny, c_soundtrackIndexAny);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:2401

    // Automatic Variable Declarations
    // Implementation
    if ((PlayerRace(lp_player) != "Zerg")) {
        return ;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:3876

    libCOOC_gf_CC_ApplyCommanderTech(lp_player);
    libCOOC_gf_CC_ApplyPerkTech(lp_player);
    auto87F16805_val = PlayerRace(lp_player);
    if (auto87F16805_val == "Terr") {
        libCOOC_gf_CC_ApplyRaceTechTerran(lp_player);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:3967

    libCOOC_gf_CC_UpdateArmyUpgradeStates(lp_player);
    libCOOC_gf_CC_UpdatePerkStates(lp_player);
    auto511843A2_val = PlayerRace(lp_player);
    if (auto511843A2_val == "Terr") {
        libCOOC_gf_CC_UpdateTerranStates(lp_player);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4088


    // Implementation
    if ((PlayerRace(lp_player) == "Terr")) {
        lv_groundWeapon6 = false;
        lv_groundWeapon7 = false;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4119

        TechTreeAbilityAllow(lp_player, AbilityCommand("ArmoryResearch", 4), lv_groundWeapon4);
    }
    else if ((PlayerRace(lp_player) == "Prot") && (libCOOC_gf_ActiveCommanderForPlayer(lp_player) == "ProtossZeratul")) {
    }
    else if ((PlayerRace(lp_player) == "Prot") && (PlayerCommander(lp_player) == "Alarak")) {

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4121

    else if ((PlayerRace(lp_player) == "Prot") && (libCOOC_gf_ActiveCommanderForPlayer(lp_player) == "ProtossZeratul")) {
    }
    else if ((PlayerRace(lp_player) == "Prot") && (PlayerCommander(lp_player) == "Alarak")) {
        TechTreeAbilityAllow(lp_player, AbilityCommand("ForgeResearch", 17), true);
        TechTreeAbilityAllow(lp_player, AbilityCommand("ForgeResearch", 18), true);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4132

        TechTreeAbilityAllow(lp_player, AbilityCommand("ForgeResearch", 8), true);
    }
    else if ((PlayerRace(lp_player) == "Prot")) {
        lv_airArmor1 = false;
        lv_airWeapon1 = false;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4156

        TechTreeAbilityAllow(lp_player, AbilityCommand("CyberneticsCoreResearch", 2), lv_airWeapon1);
    }
    else if ((PlayerRace(lp_player) == "Zerg")) {
        lv_airArmor4 = false;
        lv_airArmor3 = false;

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4189


    // Implementation
    auto5ED752A3_val = PlayerRace(lp_player);
    if (auto5ED752A3_val == "Prot") {
        if (((libCOOC_gf_CampaignTechUnitIsEnabled("Void Ray", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("VoidRayTaldarim", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("VoidRayShakuras", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("VoidRayAiur", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("Phoenix", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("PhoenixPurifier", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("PhoenixShakuras", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("PhoenixAiur", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("Carrier", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("CarrierPurifier", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("CarrierTaldarim", lp_player) == true) || (libCOOC_gf_CampaignTechUnitIsEnabled("CarrierAiur", lp_player) == true))) {

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOOC.galaxy:4523

    lv_chosenCommander = libCOOC_gf_CC_CommanderUserInstance(PlayerCommander(lp_player));
    libCOOC_gf_CC_PlayerCommanderSet(lp_player, lv_chosenCommander);
    if ((PlayerRace(lp_player) != libCOOC_gf_CC_CommanderRace(lv_chosenCommander))) {
        PlayerSetRace(lp_player, libCOOC_gf_CC_CommanderRace(lv_chosenCommander));
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:2666

    }
    libCOUI_gf_CU_UpdateHeroPanel(lp_index, lp_player);
    if ((PlayerRace(lp_player) == "Zerg")) {
        DialogControlSendAnimationEvent(libCOUI_gv_cU_HeroPanel[lp_index], PlayerGroupSingle(lp_player), "SwitchZerg");
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:2669

        DialogControlSendAnimationEvent(libCOUI_gv_cU_HeroPanel[lp_index], PlayerGroupSingle(lp_player), "SwitchZerg");
    }
    else if ((PlayerRace(lp_player) == "Terr")) {
        DialogControlSendAnimationEvent(libCOUI_gv_cU_HeroPanel[lp_index], PlayerGroupSingle(lp_player), "SwitchTerran");
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:4716

    // Automatic Variable Declarations
    // Implementation
    if (((PlayerRace(lp_player) != "Prot") || (libCOOC_gf_ActiveCommanderForPlayer(lp_player) == "ProtossAlarak") || (libCOOC_gf_ActiveCommanderForPlayer(lp_player) == "ProtossFenix") || (DialogControlIsVisible(libCOUI_gv_cU_GPCmdPanel[lp_player], lp_player) == false))) {
        return ;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:4773

    }

    if ((PlayerRace(lp_player) == "Prot")) {
        libCOUI_gf_CU_GPSoAUpdateVitals(lp_player);
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:4949

        libCOMI_gf_SetScreenModeCoop(c_uiModeFullscreen, 0.35, lp_player);
        DialogSetVisible(libCOUI_gv_cU_TargetingAbilityDialog[lp_player], lv_uIPlayers, true);
        if ((PlayerRace(lp_player) == "Prot")) {
            DialogSetVisible(libCOUI_gv_cU_TargetingOverlayDialog[lp_player], lv_uIPlayers, true);
            libNtve_gf_SetDialogItemAnimation(libCOUI_gv_cU_TargetingOverlayPortrait[lp_player], "Birth", lv_uIPlayers);

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:4961

        }

        if ((PlayerRace(lp_player) == "Prot")) {
            DialogSetVisible(libCOUI_gv_cU_TargetingOverlayDialog[lp_player], lv_uIPlayers, false);
        }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:4982

    libCOUI_gv_cU_TargetingAbilityDialog[lp_player] = DialogLastCreated();
    DialogSetImageVisible(DialogLastCreated(), false);
    auto1B291F8D_val = PlayerRace(lp_player);
    if (auto1B291F8D_val == "Terr") {
        DialogControlCreateFromTemplate(DialogLastCreated(), c_triggerControlTypePanel, "Coop_TerranTargetingUI/TerranTargetingUITemplate");

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:4997

    DialogControlHookup(libCOUI_gv_cU_TargetingPanel[lp_player], c_triggerControlTypeButton, "CancelButton");
    libCOUI_gv_cU_TargetingCancelButton[lp_player] = DialogControlLastCreated();
    if ((PlayerRace(lp_player) == "Prot")) {
        DialogControlHookup(libCOUI_gv_cU_TargetingPanel[lp_player], c_triggerControlTypePanel, "ChargesContainer");
        libCOUI_gv_cU_TargetingChargesPanel[lp_player] = DialogControlLastCreated();

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:5042

    lv_uIPlayers = PlayerGroupSingle(lp_player);
    libCOUI_gf_CU_TargetingCreate(lp_player);
    if ((PlayerRace(lp_player) == "Terr")) {
        return ;
    }

mods/starcoop/starcoop.sc2modbase.sc2data/LibCOUI.galaxy:5797

    libCOUI_gf_CU_FanfareCreate();
    lv_fanfarePlayers = PlayerGroupSingle(lp_player);
    lv_playerRace = PlayerRace(lp_player);
    libCOUI_gv_cU_FanfareResult[lp_player] = lp_result;
    if (((lv_playerRace == "InfT") || (lv_playerRace == "PZrg"))) {

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:193

    
    if (DEBUG_ATTACK_STATE) {
        msg = "Player " + IntToString(player) + "-" + PlayerRace(player) + " attack state " + 
            AttackStateName(oldState) + " -> " + AttackStateName(attackState);
        DebugAI(msg);

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:211


    if (DEBUG_MAIN_STATE) {
        msg = "Player " + IntToString(player) + "-" + PlayerRace(player) + " main state " + 
            MainStateName(oldMainState) + "(" + IntToString(oldSubState) + ") --> " + 
            MainStateName(mainState)  + "(" + IntToString(mainSubState) + ")";

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:223

void EndMeleeScript (int player) {
    string msg = "Reached end of script for player " + IntToString(player) + "-" + 
        PlayerRace(player) + " : More AI code coming soon.";
    UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringToText(msg));
    DebugAI(msg);

mods/starcoop/starcoop.sc2modbase.sc2data/TriggerLibs/MeleeAI.galaxy:234

void ErrorMeleeScript (int player, string error) {
    string msg = "A script logic error occurred for player " + IntToString(player) +
        "-" + PlayerRace(player) + " : " + error;
    UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringToText(msg));
    DebugAI(msg);

mods/voidprologue.sc2modbase.sc2data/LibA3DDD02B.galaxy:1609

    TimerWindowSetAnchor(TimerWindowLastCreated(), c_anchorTop, 0, -12);
    if ((lp_positiveNegativeOptions == libA3DDD02B_ge_CampaignTimerPositiveNegativeOptions_Positive)) {
        if ((PlayerRace(1) == "Terr")) {
            TimerWindowSetColor(TimerWindowLastCreated(), c_timerWindowColorTime, Color(42.75, 68.24, 16.86), 0.0);
        }

mods/voidprologue.sc2modbase.sc2data/LibA3DDD02B.galaxy:2339

        auto5D3E40F6_var = PlayerGroupNextPlayer(auto5D3E40F6_g, auto5D3E40F6_var);
        if (auto5D3E40F6_var < 0) { break; }
        auto2B44BE14_val = PlayerRace(auto5D3E40F6_var);
        if (auto2B44BE14_val == "Prot") {
            SoundPlay(SoundLink("UI_TerranPing", -1), lp_players, 100.0, 0.0);