# Catalog Entry Is Valid

Grammar — Catalog catalog entry entry is valid
FlagsNative | Function

Returns true if the specified catalog entry is valid. Use catalog lookup functions to retrieve a data value or other information from the game data.

# Arguments

  • int<preset::CatalogType> — Catalog
  • string<catalogentry> — Entry

Returns — bool

native bool CatalogEntryIsValid(int catalog, string entry);

Category: Catalog / Lookup

# Examples

mods/core.sc2modbase.sc2data/TriggerLibs/NativeLib.galaxy:3632

            lv_modelOld = CatalogFieldValueGet(c_gameCatalogSkin, lp_skin, (("ReplacementArray[" + IntToString(lv_i) + "]." + lv_fromPath)), c_playerAny);
            lv_modelNew = CatalogFieldValueGet(c_gameCatalogSkin, lp_skin, (("ReplacementArray[" + IntToString(lv_i) + "]." + lv_toPath)), c_playerAny);
            if ((CatalogEntryIsValid(c_gameCatalogModel, lv_modelOld) == true) && (CatalogEntryIsValid(c_gameCatalogModel, lv_modelNew) == true)) {
                ActorRegionSend(lv_ar, c_actorIntersectAgainstRadiusContact, (("ModelSwap " + lv_modelNew)), "Unit", ("ModelName " + lv_modelOld + "; PlayerId " + IntToString(lp_player) + " " + IntToString(lp_player)));
            }

mods/core.sc2modbase.sc2data/TriggerLibs/NativeLib.galaxy:3632

            lv_modelOld = CatalogFieldValueGet(c_gameCatalogSkin, lp_skin, (("ReplacementArray[" + IntToString(lv_i) + "]." + lv_fromPath)), c_playerAny);
            lv_modelNew = CatalogFieldValueGet(c_gameCatalogSkin, lp_skin, (("ReplacementArray[" + IntToString(lv_i) + "]." + lv_toPath)), c_playerAny);
            if ((CatalogEntryIsValid(c_gameCatalogModel, lv_modelOld) == true) && (CatalogEntryIsValid(c_gameCatalogModel, lv_modelNew) == true)) {
                ActorRegionSend(lv_ar, c_actorIntersectAgainstRadiusContact, (("ModelSwap " + lv_modelNew)), "Unit", ("ModelName " + lv_modelOld + "; PlayerId " + IntToString(lp_player) + " " + IntToString(lp_player)));
            }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameLib.galaxy:18147

    }

    if ((CatalogEntryIsValid(c_gameCatalogVoiceLine, lv_voiceLine) == true) && (CatalogEntryIsDefault(c_gameCatalogVoiceOver, lv_voiceLine) == false)) {
        lv_sound = libGame_gv_players[lv_yellingPlayer].lv_lootContent.lv_loot_VoiceLine.lv_voiceLineSoundID;
        lv_soundWithSuffix = (((lv_sound) + libGame_gv_players[lv_yellingPlayer].lv_vOSoundSuffix));

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameLib.galaxy:18155

        return true;
    }
    if ((CatalogEntryIsValid(c_gameCatalogSound, lv_sound) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_sound) == false)) {
        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundWithSuffix) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_soundWithSuffix) == false)) {
            ActorSend(libNtve_gf_MainActorofUnit(lv_heroUnit), libNtve_gf_Create((libGame_gv_lootVoiceLineActor), (lv_soundWithSuffix)));

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/GameLib.galaxy:18156

    }
    if ((CatalogEntryIsValid(c_gameCatalogSound, lv_sound) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_sound) == false)) {
        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundWithSuffix) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_soundWithSuffix) == false)) {
            ActorSend(libNtve_gf_MainActorofUnit(lv_heroUnit), libNtve_gf_Create((libGame_gv_lootVoiceLineActor), (lv_soundWithSuffix)));
        }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:323


        lv_soundID = ((libCore_gv_dataAnnouncerVOPacks[lp_iDPack].lv_stringName + "_" + lv_dataFieldMapString));
        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundID) == true)) {
            libCore_gv_dataAnnouncerVOPacks[lp_iDPack].lv_announcerVOLines[lv_itEvent].lv_soundLink = lv_soundID;
            libCore_gv_dataAnnouncerVOPacks[lp_iDPack].lv_announcerVOLines[lv_itEvent].lv_playAtGameEnd = libCore_gv_dataAnnouncerVODataFieldMap[lv_itEvent].lv_playAtGameEnd;

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:780

    lv_heroID = (lp_heroLink);
    lv_unitType = (CatalogFieldValueGet(c_gameCatalogHero, lp_heroLink, "Unit", c_playerAny));
    if ((CatalogEntryIsValid(c_gameCatalogUnit, lv_unitType) == false)) {
        TextExpressionSetToken("Param/Expression/lib_Core_07A76EFB", "A", StringToText(lv_heroID));
        TextExpressionSetToken("Param/Expression/lib_Core_07A76EFB", "B", StringToText((lv_unitType)));

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1002


    // Implementation
    if (((lp_sprayLink == "") || (CatalogEntryIsValid(c_gameCatalogSpray, lp_sprayLink) == false))) {
        libCore_gf_DataLootContentLoadSprayDataIntoIndex(libCore_gv_mountModelActor4, lp_playerIndex);
        return ;

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1156


    // Implementation
    if ((lp_announcerPackLink != "") && (CatalogEntryIsValid(c_gameCatalogAnnouncerPack, lp_announcerPackLink) == true)) {
        lv_announcerVOID = CatalogFieldValueGet(c_gameCatalogAnnouncerPack, lp_announcerPackLink, "VoiceOver", c_playerAny);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1189


        lv_soundID = ((lv_announcerVOID + "_" + lv_dataFieldMapString));
        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundID) == true)) {
            libGame_gv_players[lp_playerIndex].lv_lootContent.lv_loot_AnnouncerPack.lv_announcerVOLines[lv_itEvent].lv_soundLink = lv_soundID;
            libGame_gv_players[lp_playerIndex].lv_lootContent.lv_loot_AnnouncerPack.lv_announcerVOLines[lv_itEvent].lv_playAtGameEnd = libCore_gv_dataAnnouncerVODataFieldMap[lv_itEvent].lv_playAtGameEnd;

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1250


    // Implementation
    if ((lv_skin != "") && (CatalogEntryIsValid(c_gameCatalogSkin, lv_skin) == true) && (CatalogFieldValueCount(c_gameCatalogSkin, lv_skin, "VoiceLineArray", c_playerAny) > 1)) {
        lv_value = CatalogFieldValueGet(c_gameCatalogSkin, lv_skin, "VoiceLineArray[" + IntToString(0) + "]", c_playerAny);
        return (lv_value);

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1255

    }

    if ((lv_hero != "") && (CatalogEntryIsValid(c_gameCatalogHero, lv_hero) == true) && (CatalogFieldValueCount(c_gameCatalogHero, lv_hero, "VoiceLineArray", c_playerAny) > 1)) {
        lv_value = CatalogFieldValueGet(c_gameCatalogHero, lv_hero, "VoiceLineArray[" + IntToString(0) + "]", c_playerAny);
        return (lv_value);

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1290


    // Implementation
    if (((lp_voiceLine == "") || (CatalogEntryIsValid(c_gameCatalogVoiceLine, lp_voiceLine) == false))) {
        lv_voiceLineDefault = libCore_gf_GetDefaultVoiceLineForPlayer(lp_playerIndex);
        if ((lv_voiceLineDefault != "") && (lv_voiceLineDefault != lp_voiceLine) && (CatalogEntryIsValid(c_gameCatalogVoiceLine, lv_voiceLineDefault) == true)) {

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1292

    if (((lp_voiceLine == "") || (CatalogEntryIsValid(c_gameCatalogVoiceLine, lp_voiceLine) == false))) {
        lv_voiceLineDefault = libCore_gf_GetDefaultVoiceLineForPlayer(lp_playerIndex);
        if ((lv_voiceLineDefault != "") && (lv_voiceLineDefault != lp_voiceLine) && (CatalogEntryIsValid(c_gameCatalogVoiceLine, lv_voiceLineDefault) == true)) {
            libCore_gf_DataLootContentLoadVoiceLineDataIntoIndex(lv_voiceLineDefault, lp_playerIndex);
        }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/HeroesLib.galaxy:1411


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogMount, lp_mountLink) == false)) {
        return 0;
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/MapMechanicsLib.galaxy:2802

    for ( ; lv_itAbility <= autoED27FBF2_ae ; lv_itAbility += 1 ) {
        lv_ability = (CatalogFieldValueGet(c_gameCatalogUnit, UnitGetType(lp_unit), "AbilArray[" + IntToString(lv_itAbility) + "].Link", UnitGetOwner(lp_unit)));
        if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_ability) == true)) {
            if ((libCore_gv_sYSGameMode == libCore_ge_GameModes_ArenaMode)) {
                UnitAbilitySetRequiredRegion(lp_unit, lv_ability, lp_region, "");

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/SoundLib.galaxy:179

    lv_soundLinkAppend = ((lv_soundLink) + libGame_gv_players[lp_speakingPlayer].lv_vOSoundSuffix);
    lv_soundLink = (lv_soundLinkAppend);
    if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundLink) == true)) {
        return lv_soundLink;
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/SoundLib.galaxy:241

    }

    if ((CatalogEntryIsValid(c_gameCatalogSound, lv_skinSoundID) == true)) {
        SoundPlayForPlayer(SoundLink(lv_skinSoundID, c_soundIndexAny), lp_speakingPlayer, lp_targetPlayerGroup, 100.0, 0.0);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/SoundLib.galaxy:399

    }

    if ((lv_skinSoundID != null) && (CatalogEntryIsValid(c_gameCatalogSound, lv_skinSoundID) == true)) {
        SoundPlayForPlayer(SoundLink(lv_skinSoundID, c_soundIndexAny), lp_speakingPlayer, libCore_gv_playerGroupFromPlayer[lp_killingPlayer], 100.0, 0.0);
    }

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/UILib.galaxy:2363


        lv_entry = (lv_vOID + lv_suffix);
        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_entry) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_entry) == false)) {
            DialogControlAddItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player], StringToText(lv_entry));
            lv_listIndex += 1;

mods/heroesdata.stormmodbase.stormdata/TriggerLibs/UILib.galaxy:2401

        lv_soundID = CatalogFieldValueGet(c_gameCatalogVoiceLine, lv_vLID, "Sound", c_playerAny);
        lv_itemText = StringExternal(("VoiceLine/Name/" + (lv_vLID)));
        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundID) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_soundID) == false)) {
            DialogControlAddItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player], lv_itemText);
            lv_listIndex += 1;

mods/liberty.sc2modbase.sc2data/TriggerLibs/LibertyLib.galaxy:968

        lv_itMessage = (UserDataGetString(libLbty_gv_starCraftEventsEventTable, lv_itInstance, "Message", 1));
        lv_itMessageFilter = libNtve_gf_ConvertTargetFilterStringToUnitFilter(UserDataGetString(libLbty_gv_starCraftEventsEventTable, lv_itInstance, "MessageFilter", 1));
        if (((CatalogEntryIsValid(c_gameCatalogUpgrade, lv_itDisabler) == true) || (libNtve_gf_DateTimeisBetween(lv_curDateTime, lv_itStart, lv_itEnd) == false))) {
            continue;
        }

mods/liberty.sc2modbase.sc2data/TriggerLibs/LibertyLib.galaxy:972

        }

        if ((CatalogEntryIsValid(c_gameCatalogSkin, lv_itSkin) == true)) {
            autoB7B8D940_g = PlayerGroupActive();
            lv_itPlayer = -1;

mods/liberty.sc2modbase.sc2data/TriggerLibs/LibertyLib.galaxy:982

        }

        if ((CatalogEntryIsValid(c_gameCatalogUpgrade, lv_itUpgrade) == true)) {
            auto91C880CD_g = PlayerGroupActive();
            lv_itPlayer = -1;

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


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogMover, lp_mover) == true) && (CatalogEntryIsDefault(c_gameCatalogMover, lp_mover) == false) && (CatalogEntryScope(c_gameCatalogMover, lp_mover) == "CMoverMissile")) {
        CatalogReferenceSet("Effect,UnitLaunchToTargetPointLM,Movers[0].Link", lv_o, (lp_mover));
        UnitCreateEffectPoint(lp_unit, libNCMI_gv_launchUnitToTargetPointBaseEffect, lp_targetPoint);

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

                for ( ; auto9B486C0C_i <= UserDataFieldValueCount(auto9B486C0C_userType,auto9B486C0C_field) ; auto9B486C0C_i += 1 ) {
                    lv_unitType = UserDataGetGameLink(auto9B486C0C_userType,auto9B486C0C_instance,auto9B486C0C_field, auto9B486C0C_i);
                    if ((CatalogEntryIsValid(c_gameCatalogUnit, lv_unitType) == true)) {
                        CatalogFieldValueSet(c_gameCatalogUnit, lv_unitType, "TacticalAIChannel", lv_player, "MiraTakeOver");
                    }

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

        if ((lv_uT == lv_itUnitType)) {
            lv_itActive = UserDataGetGameLink("CoopTechTychusSquad", lv_itInstance, "Active Abil", 1);
            if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_itActive) == true)) {
                if ((CatalogEntryScope(c_gameCatalogAbil, lv_itActive) == "CAbilBuild")) {
                    lv_pathCooldown = "InfoArray[0].Cooldown.TimeUse";

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

        if ((lv_uT == lv_itUnitType)) {
            lv_itActive = UserDataGetGameLink("CoopTechTychusSquad", lv_itInstance, "Active Abil", 1);
            if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_itActive) == true)) {
                if ((CatalogEntryScope(c_gameCatalogAbil, lv_itActive) == "CAbilBuild")) {
                    lv_pathCooldown = "InfoArray[0].Cooldown.TimeUse";

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

                lv_stringWeapon = CatalogFieldValueGet(c_gameCatalogUnit, lv_stringUnitID, "WeaponArray[" + IntToString(lv_k) + "].Link", 0);
                if ((lv_stringWeapon != "")) {
                    if ((CatalogEntryIsValid(c_gameCatalogWeapon, lv_stringWeapon) == true)) {
                        if ((StringToInt(CatalogFieldValueGet(c_gameCatalogWeapon, lv_stringWeapon, "Options[" + IntToString(2) + "]", 0)) == 0)) {
                            lv_weaponRange = (StringToFixed(CatalogFieldValueGet(c_gameCatalogWeapon, lv_stringWeapon, "Range", 0)) + 3.0);

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


    // Implementation
    if ((lp_commander != null) && ((lp_index >= 1) && (lp_index <= libCOOC_gv_cCC_PLAYERPRESTIGEMAXRANK)) && (CatalogEntryIsValid(c_gameCatalogCommander, lp_commander) == true) && (CatalogFieldValueCount(c_gameCatalogCommander, lp_commander, "PrestigeArray", c_playerAny) >= lp_index)) {
        lv_prestigefacestring = CatalogFieldValueGet(c_gameCatalogCommander, lp_commander, "PrestigeArray[" + IntToString((lp_index - 1)) + "]", c_playerAny);
        if ((CatalogEntryIsValid(c_gameCatalogButton, lv_prestigefacestring) == true)) {

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

    if ((lp_commander != null) && ((lp_index >= 1) && (lp_index <= libCOOC_gv_cCC_PLAYERPRESTIGEMAXRANK)) && (CatalogEntryIsValid(c_gameCatalogCommander, lp_commander) == true) && (CatalogFieldValueCount(c_gameCatalogCommander, lp_commander, "PrestigeArray", c_playerAny) >= lp_index)) {
        lv_prestigefacestring = CatalogFieldValueGet(c_gameCatalogCommander, lp_commander, "PrestigeArray[" + IntToString((lp_index - 1)) + "]", c_playerAny);
        if ((CatalogEntryIsValid(c_gameCatalogButton, lv_prestigefacestring) == true)) {
            return (lv_prestigefacestring);
        }

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


    // Implementation
    if ((lp_upgradeSupplemental != null) && (CatalogEntryIsValid(c_gameCatalogUpgrade, lv_upgrade) == true) && (CatalogEntryIsValid(c_gameCatalogUpgrade, lv_supplement) == true) && (TechTreeUpgradeCount(lp_player, lv_upgrade, c_techCountCompleteOnly) > 0)) {
        libNtve_gf_SetUpgradeLevelForPlayer(lp_player, lv_supplement, TechTreeUpgradeCount(lp_player, lv_upgrade, c_techCountCompleteOnly));
        lv_script = UserDataGetString("PlayerPrestigeUpgradeSupplements", lp_upgradeSupplemental, "PostScript", 1);

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


    // Implementation
    if ((lp_upgradeSupplemental != null) && (CatalogEntryIsValid(c_gameCatalogUpgrade, lv_upgrade) == true) && (CatalogEntryIsValid(c_gameCatalogUpgrade, lv_supplement) == true) && (TechTreeUpgradeCount(lp_player, lv_upgrade, c_techCountCompleteOnly) > 0)) {
        libNtve_gf_SetUpgradeLevelForPlayer(lp_player, lv_supplement, TechTreeUpgradeCount(lp_player, lv_upgrade, c_techCountCompleteOnly));
        lv_script = UserDataGetString("PlayerPrestigeUpgradeSupplements", lp_upgradeSupplemental, "PostScript", 1);

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

    // Automatic Variable Declarations
    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogCommander, lp_commander) == false)) {
        return null;
    }

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


    // Implementation
    if ((libCOOC_gf_CC_PlayerActivePrestigeIndex(lp_player) == 0) && (CatalogEntryIsValid(c_gameCatalogCommander, PlayerCommander(lp_player)) == true)) {
        lv_playerPrestigeText = StringExternal(CatalogFieldValueGet(c_gameCatalogCommander, PlayerCommander(lp_player), "Description", c_playerAny));
    }

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

        lv_playerPrestigeText = null;
    }
    if ((libCOOC_gf_CC_PlayerActivePrestigeIndex(lv_playerAlly) == 0) && (CatalogEntryIsValid(c_gameCatalogCommander, PlayerCommander(lv_playerAlly)) == true)) {
        lv_playerAllyPrestigeText = StringExternal(CatalogFieldValueGet(c_gameCatalogCommander, PlayerCommander(lv_playerAlly), "Description", c_playerAny));
    }

mods/warcoop/warclassic.sc2modbase.sc2data/TriggerLibs/WarClassic.galaxy:166


        auto82B2AE7E_eval=CatalogFieldValueGet(c_gameCatalogUnit,UnitGetType(lp_hero),"LearnInfoArray["+IntToString(auto82B2AE7E_i)+"].Abil",c_playerAny);
        if(CatalogEntryIsValid(c_gameCatalogAbil,auto82B2AE7E_eval)){
            lv_itHeroAbil=auto82B2AE7E_eval;
            lv_itIndex=auto82B2AE7E_i;

mods/warcoop/warclassic.sc2modbase.sc2data/TriggerLibs/WarClassic.galaxy:193


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogItem, lv_item) == true)) {
        return (lv_item);
    }

mods/warcoop/warclassicsystem.sc2modbase.sc2data/TriggerLibs/WarClassicSystem.galaxy:126

            lv_newLink = CatalogFieldValueGet(c_gameCatalogDataCollection, lv_itEntry, "TechInfoAbil", lp_player);
            lv_oldLink = CatalogFieldValueGet(c_gameCatalogDataCollection, lv_itEntry, "TechInfoAbilReplaced", lp_player);
            if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_oldLink) == true)) {
                CatalogLinkReplace(lp_player, c_gameCatalogAbil, lv_oldLink, lv_newLink);
            }

mods/warcoop/warclassicsystem.sc2modbase.sc2data/TriggerLibs/WarClassicSystem.galaxy:145


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogItem, lv_itemEntry) == false)) {
        return "";
    }

mods/warcoop/warclassicsystem.sc2modbase.sc2data/TriggerLibs/WarClassicSystem.galaxy:171


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogItem, lv_itemEntry) == false)) {
        return "";
    }

mods/warcoop/warclassicsystem.sc2modbase.sc2data/TriggerLibs/WarClassicSystem.galaxy:483


        auto9DD7372B_eval=CatalogFieldValueGet(c_gameCatalogUnit,UnitGetType(lv_caster),"LearnInfoArray["+IntToString(auto9DD7372B_i)+"].Abil",c_playerAny);
        if(CatalogEntryIsValid(c_gameCatalogAbil,auto9DD7372B_eval)){
            lv_abil=auto9DD7372B_eval;
            lv_i=auto9DD7372B_i;

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:766

        lv_artifactid = libWCdr_gf_W3CBankRetrieveString(lp_player, lv_section, lv_key);
        lv_artifact = (lv_artifactid);
        if ((lv_artifactid != null) && (CatalogEntryIsValid(c_gameCatalogArtifact, lv_artifact) == true) && (libWCdr_gf_PlayerOwnsArtifact(lp_player, lv_artifact) == true)) {
            libWCdr_gv_legends.lv_player[lp_player].lv_equipment[lv_slotindex] = lv_artifact;
        }

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:1637


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogTalent, lp_talent) == true)) {
        PlayerAddTalent(lp_player, lp_talent);
        lv_abilLink = (CatalogFieldValueGet(c_gameCatalogTalent, lp_talent, "Abil", c_playerAny));

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:1640

        PlayerAddTalent(lp_player, lp_talent);
        lv_abilLink = (CatalogFieldValueGet(c_gameCatalogTalent, lp_talent, "Abil", c_playerAny));
        if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_abilLink) == true)) {
            lv_abilDataCollectionLink = (CatalogFieldValueGet(c_gameCatalogAbil, lv_abilLink, "DataCollection", c_playerAny));
            if ((CatalogEntryIsValid(c_gameCatalogDataCollection, lv_abilDataCollectionLink) == true) && (CatalogEntryScope(c_gameCatalogDataCollection, lv_abilDataCollectionLink) == "CDataCollectionAbil")) {

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:1642

        if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_abilLink) == true)) {
            lv_abilDataCollectionLink = (CatalogFieldValueGet(c_gameCatalogAbil, lv_abilLink, "DataCollection", c_playerAny));
            if ((CatalogEntryIsValid(c_gameCatalogDataCollection, lv_abilDataCollectionLink) == true) && (CatalogEntryScope(c_gameCatalogDataCollection, lv_abilDataCollectionLink) == "CDataCollectionAbil")) {
                libWCdr_gf_DataCollectionApplyTech(lv_abilDataCollectionLink, lp_player, true);
            }

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:1699

                for ( ; auto0D1C65C7_i <= CatalogFieldValueCount(c_gameCatalogArtifact,auto0D1C65C7_entry,auto0D1C65C7_fieldPath,auto0D1C65C7_player)-1 ; auto0D1C65C7_i += 1 ) {
                    lv_upgrade = CatalogFieldValueGet(c_gameCatalogArtifact,auto0D1C65C7_entry,auto0D1C65C7_fieldPath+"["+IntToString(auto0D1C65C7_i)+"]",auto0D1C65C7_player);
                    if ((CatalogEntryIsValid(c_gameCatalogUpgrade, lv_upgrade) == true)) {
                        TechTreeUpgradeAddLevel(lv_legendplayer, (lv_upgrade), 1);
                    }

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:1711

                for ( ; auto159B5369_i <= CatalogFieldValueCount(c_gameCatalogArtifact,auto159B5369_entry,auto159B5369_fieldPath,auto159B5369_player)-1 ; auto159B5369_i += 1 ) {
                    lv_playerresponse = CatalogFieldValueGet(c_gameCatalogArtifact,auto159B5369_entry,auto159B5369_fieldPath+"["+IntToString(auto159B5369_i)+"]",auto159B5369_player);
                    if ((CatalogEntryIsValid(c_gameCatalogPlayerResponse, lv_upgrade) == true)) {
                        PlayerAddResponse(lv_legendplayer, (lv_playerresponse));
                    }

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:1758

                lv_itemid = CatalogFieldValueGet(c_gameCatalogArtifact,auto0ACD189B_entry,auto0ACD189B_fieldPath+"["+IntToString(auto0ACD189B_i)+"]",auto0ACD189B_player);
                lv_item = (lv_itemid);
                if ((CatalogEntryIsValid(c_gameCatalogUnit, lv_item) == true)) {
                    UnitInventoryCreate(lp_hero, lv_item);
                }

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:2063


    // Implementation
    if ((CatalogEntryIsValid(c_gameCatalogCommander, lv_commander) == false)) {
        CatalogReferenceSet("Abil,CoopCommanderHeroSharedTrain,InfoArray[Train1].Flags[AutoCastOn]", lp_player, "0");
        CatalogReferenceSet("Abil,CoopCommanderHeroSharedTrain,InfoArray[Train1].Button.Flags[CreateDefaultButton]", lp_player, "0");

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:2108

            lv_newLink = (lv_itEntry);
            lv_oldLink = StringReplaceWord(lv_newLink, lv_raceToken, "", c_stringReplaceAll, c_stringCase);
            if ((CatalogEntryIsValid(c_gameCatalogAbil, lv_oldLink) == true)) {
                CatalogLinkReplace(lp_player, c_gameCatalogAbil, lv_oldLink, lv_newLink);
            }

mods/warcoop/warcoopdata.sc2modbase.sc2data/TriggerLibs/WarCoopData.galaxy:2369

        lv_from = CatalogFieldValueGet(c_gameCatalogDataCollection, lp_dataCollection, "TechInfoUnitReplaced", lp_player);
        lv_to = CatalogFieldValueGet(c_gameCatalogDataCollection, lp_dataCollection, "TechInfoUnit", lp_player);
        if ((CatalogEntryIsValid(c_gameCatalogUnit, lv_from) == true)) {
            TechTreeUnitAllow(lp_player, (lv_from), true);
            CatalogLinkReplace(lp_player, c_gameCatalogUnit, lv_from, lv_to);