Advertisement
shiremct

Updated Weapon Pack DLCInfo

Sep 8th, 2018
1,220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //---------------------------------------------------------------------------------------
  2. //  FILE:   XComDownloadableContentInfo_WeaponPack.uc                                    
  3. //          
  4. //  Use the X2DownloadableContentInfo class to specify unique mod behavior when the
  5. //  player creates a new campaign or loads a saved game.
  6. //  
  7. //---------------------------------------------------------------------------------------
  8. //  Copyright (c) 2016 Firaxis Games, Inc. All rights reserved.
  9. //---------------------------------------------------------------------------------------
  10.  
  11. class X2DownloadableContentInfo_WeaponPack extends X2DownloadableContentInfo;
  12.  
  13. /// <summary>
  14. /// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the
  15. /// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was
  16. /// create without the content installed. Subsequent saves will record that the content was installed.
  17. /// </summary>
  18. static event OnLoadedSavedGame()
  19. {
  20.     `Log("TF WPNPack : Starting OnLoadedSavedGame");
  21.     UpdateStorage();
  22. }
  23.  
  24. /// <summary>
  25. /// Called when the player starts a new campaign while this DLC / Mod is installed. When a new campaign is started the initial state of the world
  26. /// is contained in a strategy start state. Never add additional history frames inside of InstallNewCampaign, add new state objects to the start state
  27. /// or directly modify start state objects
  28. /// </summary>
  29.  
  30. static event OnPostTemplatesCreated()
  31. {
  32.     UpdateMods();
  33. }
  34.  
  35. // ******** HANDLE UPDATING STORAGE ************* //
  36. // This handles updating storage in order to create variations of various SMGs based on techs unlocked
  37. static function UpdateStorage()
  38. {
  39.     local XComGameState NewGameState;
  40.     local XComGameStateHistory History;
  41.     local XComGameState_HeadquartersXCom XComHQ;
  42.     local X2ItemTemplateManager ItemTemplateMgr;
  43.     local X2ItemTemplate ItemTemplate;
  44.     local XComGameState_Item NewItemState;
  45.  
  46.     History = `XCOMHISTORY;
  47.     NewGameState = class'XComGameStateContext_ChangeContainer'.static.CreateChangeState("Updating HQ Storage to add SMGs");
  48.     XComHQ = XComGameState_HeadquartersXCom(History.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
  49.     XComHQ = XComGameState_HeadquartersXCom(NewGameState.CreateStateObject(class'XComGameState_HeadquartersXCom', XComHQ.ObjectID));
  50.     NewGameState.AddStateObject(XComHQ);
  51.     ItemTemplateMgr = class'X2ItemTemplateManager'.static.GetItemTemplateManager();
  52.    
  53.     `Log("TF WPNPack : Updated Conventional Weapons");
  54.     ItemTemplate = ItemTemplateMgr.FindItemTemplate('RM_CRX1_CV');
  55.     if(ItemTemplate != none)
  56.     {
  57.         `Log("TF WPNPack : Found RM_CRX1_CV item template");
  58.         if (!XComHQ.HasItem(ItemTemplate))
  59.         {
  60.             `Log("TF WPNPack : RM_CRX1_CV not found, adding to inventory");
  61.             NewItemState = ItemTemplate.CreateInstanceFromTemplate(NewGameState);
  62.             NewGameState.AddStateObject(NewItemState);
  63.             XComHQ.AddItemToHQInventory(NewItemState);
  64.             History.AddGameStateToHistory(NewGameState);
  65.         } else {
  66.             `Log("TF WPNPack : RM_CRX1_CV found, skipping inventory add");
  67.             History.CleanupPendingGameState(NewGameState);
  68.         }
  69.  
  70.  
  71.     }
  72.    
  73.     `Log("TF WPNPack : Updated Conventional Weapons");
  74.     ItemTemplate = ItemTemplateMgr.FindItemTemplate('RM_MRX1_CV');
  75.     if(ItemTemplate != none)
  76.     {
  77.         `Log("TF WPNPack : Found RM_MRX1_CV item template");
  78.         if (!XComHQ.HasItem(ItemTemplate))
  79.         {
  80.             `Log("TF WPNPack : RM_MRX1_CV not found, adding to inventory");
  81.             NewItemState = ItemTemplate.CreateInstanceFromTemplate(NewGameState);
  82.             NewGameState.AddStateObject(NewItemState);
  83.             XComHQ.AddItemToHQInventory(NewItemState);
  84.             History.AddGameStateToHistory(NewGameState);
  85.         } else {
  86.             `Log("TF WPNPack : RM_MRX1_CV found, skipping inventory add");
  87.             History.CleanupPendingGameState(NewGameState);
  88.         }
  89.  
  90.  
  91.     }
  92.    
  93.     `Log("TF WPNPack : Updated Conventional Weapons");
  94.     ItemTemplate = ItemTemplateMgr.FindItemTemplate('RM_ASX1_CV');
  95.     if(ItemTemplate != none)
  96.     {
  97.         `Log("TF WPNPack : Found RM_ASX1_CV item template");
  98.         if (!XComHQ.HasItem(ItemTemplate))
  99.         {
  100.             `Log("TF WPNPack : RM_ASX1_CVnot found, adding to inventory");
  101.             NewItemState = ItemTemplate.CreateInstanceFromTemplate(NewGameState);
  102.             NewGameState.AddStateObject(NewItemState);
  103.             XComHQ.AddItemToHQInventory(NewItemState);
  104.             History.AddGameStateToHistory(NewGameState);
  105.         } else {
  106.             `Log("TF WPNPack : RM_ASX1_CV found, skipping inventory add");
  107.             History.CleanupPendingGameState(NewGameState);
  108.         }
  109.  
  110.  
  111.     }
  112.    
  113.     `Log("TF WPNPack : Updated Conventional Weapons");
  114.     ItemTemplate = ItemTemplateMgr.FindItemTemplate('RM_LMGX1_CV');
  115.     if(ItemTemplate != none)
  116.     {
  117.         `Log("TF WPNPack : Found LMGX1_CV item template");
  118.         if (!XComHQ.HasItem(ItemTemplate))
  119.         {
  120.             `Log("TF WPNPack : LMGX1_CV not found, adding to inventory");
  121.             NewItemState = ItemTemplate.CreateInstanceFromTemplate(NewGameState);
  122.             NewGameState.AddStateObject(NewItemState);
  123.             XComHQ.AddItemToHQInventory(NewItemState);
  124.             History.AddGameStateToHistory(NewGameState);
  125.         } else {
  126.             `Log("TF WPNPack : LMGX1_CV found, skipping inventory add");
  127.             History.CleanupPendingGameState(NewGameState);
  128.         }
  129.  
  130.  
  131.     }
  132.  
  133.     //schematics should be handled already, as the BuildItem UI draws from ItemTemplates, which are automatically loaded
  134. }
  135.  
  136.  
  137.  
  138. static function UpdateMods()
  139. {
  140.     local X2ItemTemplateManager             ItemManager;
  141.     local array<name>                       TemplateNames;
  142.     local name                              TemplateName;
  143.     local array<X2DataTemplate>             TemplateAllDifficulties;
  144.     local X2DataTemplate                    Template;
  145.     local X2WeaponUpgradeTemplate           UpgradeTemplate;
  146.  
  147.     ItemManager = class'X2ItemTemplateManager'.static.GetItemTemplateManager();
  148.     ItemManager.GetTemplateNames(TemplateNames);
  149.    
  150.      foreach TemplateNames(TemplateName)
  151.     {
  152.         ItemManager.FindDataTemplateAllDifficulties(TemplateName, TemplateAllDifficulties);
  153.        
  154.         foreach TemplateAllDifficulties(Template)
  155.         {
  156.             UpgradeTemplate = X2WeaponUpgradeTemplate(Template);
  157.            
  158.             // Add CritUpgrade Attachments:
  159.             if (InStr(string(UpgradeTemplate.DataName), "CritUpgrade_") != INDEX_NONE)
  160.             {
  161.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatC_OpticB", "", 'RM_MRX1_CV', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  162.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatC_OpticB", "", 'RM_MRX1_MG', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  163.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatC_OpticB", "", 'RM_MRX1_BM', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  164.                
  165.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_OpticB", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  166.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_OpticB", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  167.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_OpticB", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  168.                
  169.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_OpticB", "", 'RM_ASX1_CV', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  170.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_OpticB", "", 'RM_ASX1_MG', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  171.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_OpticB", "", 'RM_ASX1_BM', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  172.  
  173.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "MjolnirScarMk.SkeletalMeshes.SM_ConvCombat_OpticB", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  174.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "MjolnirScarMk.SkeletalMeshes.SM_ConvCombat_OpticB", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  175.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "MjolnirScarMk.SkeletalMeshes.SM_ConvCombat_OpticB", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_OpticB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  176.  
  177.                 UpgradeTemplate.AddUpgradeAttachment('Laser', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_LaserSight", "", 'RM_ASX1_CV');
  178.                 UpgradeTemplate.AddUpgradeAttachment('Laser', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_LaserSight", "", 'RM_ASX1_MG');
  179.                 UpgradeTemplate.AddUpgradeAttachment('Laser', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_LaserSight", "", 'RM_ASX1_BM');
  180.                
  181.                 UpgradeTemplate.AddUpgradeAttachment('Laser', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_LaserSight", "", 'RM_MRX1_CV');
  182.                 UpgradeTemplate.AddUpgradeAttachment('Laser', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_LaserSight", "", 'RM_MRX1_MG');
  183.                 UpgradeTemplate.AddUpgradeAttachment('Laser', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_LaserSight", "", 'RM_MRX1_BM');
  184.             }
  185.            
  186.             // Add AimUpgrade Attachments:
  187.             if (InStr(string(UpgradeTemplate.DataName), "AimUpgrade_") != INDEX_NONE)
  188.             {
  189.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatC_OpticC", "", 'RM_MRX1_CV', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  190.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatC_OpticC", "", 'RM_MRX1_MG', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  191.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatC_OpticC", "", 'RM_MRX1_BM', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  192.  
  193.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_OpticC", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  194.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_OpticC", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  195.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_OpticC", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  196.  
  197.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_OpticC", "", 'RM_ASX1_CV', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  198.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_OpticC", "", 'RM_ASX1_MG', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  199.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "CombatRifleSA.SkeletalMeshes.SM_ConvCombat_OpticC", "", 'RM_ASX1_BM', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  200.  
  201.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "MjolnirScarMk.SkeletalMeshes.SM_MagCombatC_OpticA", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  202.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "MjolnirScarMk.SkeletalMeshes.SM_MagCombatC_OpticA", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  203.                 UpgradeTemplate.AddUpgradeAttachment('Optic', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Optic', "MjolnirScarMk.SkeletalMeshes.SM_MagCombatC_OpticA", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_OpticC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_OpticC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_scope");
  204.             }
  205.            
  206.             // Add ClipSizeUpgrade Attachments:
  207.             if (InStr(string(UpgradeTemplate.DataName), "ClipSizeUpgrade_") != INDEX_NONE)
  208.             {
  209.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagB", "", 'RM_MRX1_CV', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  210.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagB", "", 'RM_MRX1_MG', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  211.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagB", "", 'RM_MRX1_BM', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  212.  
  213.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagB", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  214.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagB", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  215.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagB", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  216.  
  217.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Stock', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatE_MagB", "", 'RM_ASX1_CV', , "img:///UILibrary_SpartsCombatSA.ConvCombatD_MagB", "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  218.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Stock', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatE_MagB", "", 'RM_ASX1_MG', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagB", "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  219.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Stock', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatE_MagB", "", 'RM_ASX1_BM', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagB", "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  220.  
  221.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvSniper.Meshes.SM_ConvSniper_MagB", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  222.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvSniper.Meshes.SM_ConvSniper_MagB", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  223.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvSniper.Meshes.SM_ConvSniper_MagB", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_MagB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent);
  224.             }
  225.            
  226.             // Add FreeFireUpgrade Attachments:
  227.             if (InStr(string(UpgradeTemplate.DataName), "FreeFireUpgrade_") != INDEX_NONE)
  228.             {
  229.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_MRX1_CV', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  230.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_MRX1_MG', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  231.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_MRX1_BM', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  232.  
  233.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_ReargripB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_ReargripB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  234.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_ReargripB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_ReargripB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  235.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_ReargripB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_ReargripB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  236.  
  237.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_ASX1_CV', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  238.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_ASX1_MG', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  239.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_ASX1_BM', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  240.  
  241.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  242.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  243.                 UpgradeTemplate.AddUpgradeAttachment('Reargrip', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvAttachments.Meshes.SM_ConvReargripB", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_TriggerB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_TriggerB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_trigger");
  244.  
  245.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_ASX1_CV');
  246.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_ASX1_MG');
  247.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_ASX1_BM');   
  248.  
  249.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_LMGX1_CV');
  250.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_LMGX1_MG');
  251.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_LMGX1_BM');
  252.  
  253.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_MRX1_CV');
  254.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_MRX1_MG');
  255.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_MRX1_BM');
  256.  
  257.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_CRX1_CV');
  258.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_CRX1_MG');
  259.                 UpgradeTemplate.AddUpgradeAttachment('Trigger', '', "ConvAttachments.Meshes.SM_ConvTriggerB", "", 'RM_CRX1_BM');
  260.             }
  261.            
  262.             // Add ReloadUpgrade Attachments:
  263.             if (InStr(string(UpgradeTemplate.DataName), "ReloadUpgrade_") != INDEX_NONE)
  264.             {
  265.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagC", "", 'RM_MRX1_CV', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  266.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagC", "", 'RM_MRX1_MG', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  267.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagC", "", 'RM_MRX1_BM', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  268.  
  269.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagD", "", 'RM_MRX1_CV', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  270.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagD", "", 'RM_MRX1_MG', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  271.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "MagCarbineSA.SkeletalMeshes.SM_MagCombat_MagD", "", 'RM_MRX1_BM', , "img:///UILibrary_SpartsMagCarbineSA.MagCombatC_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.MagAssaultRifle_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  272.  
  273.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_Cannon_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagC", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvCannon.ConvCannon_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvCannon_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  274.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_Cannon_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagD", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvCannon.ConvCannon_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvCannon_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  275.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_Cannon_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagC", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvCannon.ConvCannon_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvCannon_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  276.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_Cannon_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagD", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvCannon.ConvCannon_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvCannon_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  277.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_Cannon_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagC", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvCannon.ConvCannon_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvCannon_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  278.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_Cannon_Mag', "RM_BattleRiflePack.Meshes.SM_ConvSAW_MagD", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvCannon.ConvCannon_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvCannon_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  279.  
  280.                 UpgradeTemplate.AddUpgradeAttachment('ShotgunShell', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatE_MagD", "", 'RM_ASX1_CV', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagD", "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip");
  281.                 UpgradeTemplate.AddUpgradeAttachment('ShotgunShell', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatE_MagD", "", 'RM_ASX1_MG', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagD", "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip");
  282.                 UpgradeTemplate.AddUpgradeAttachment('ShotgunShell', '', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatE_MagD", "", 'RM_ASX1_BM', , "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagD", "img:///UILibrary_SpartsCombatSA.ConvCombatE_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip");
  283.  
  284.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatA_MagC", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  285.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatA_MagC", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  286.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "CombatRifleSA.SkeletalMeshes.SM_ConvCombatA_MagC", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagC", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_MagC_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent);
  287.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvSniper.Meshes.SM_ConvSniper_MagD", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  288.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvSniper.Meshes.SM_ConvSniper_MagD", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  289.                 UpgradeTemplate.AddUpgradeAttachment('Mag', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Mag', "ConvSniper.Meshes.SM_ConvSniper_MagD", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_MagD", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvSniper_MagD_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_clip", class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent);
  290.             }
  291.            
  292.             // Add MissDamageUpgrade Attachments:
  293.             if (InStr(string(UpgradeTemplate.DataName), "MissDamageUpgrade_") != INDEX_NONE)
  294.             {
  295.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_MRX1_CV', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  296.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_MRX1_MG', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  297.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_MRX1_BM', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  298.  
  299.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_Shotgun_Stock', "ConvShotgun.Meshes.SM_ConvShotgun_StockB", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvShotgun.ConvShotgun_StockB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvShotgun_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  300.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_Shotgun_Stock', "ConvShotgun.Meshes.SM_ConvShotgun_StockB", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvShotgun.ConvShotgun_StockB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvShotgun_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  301.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_Shotgun_Stock', "ConvShotgun.Meshes.SM_ConvShotgun_StockB", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvShotgun.ConvShotgun_StockB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvShotgun_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  302.                 UpgradeTemplate.AddUpgradeAttachment('Crossbar', '', "ConvAttachments.Meshes.SM_ConvCrossbar", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvShotgun.ConvShotgun_CrossbarA", , , class'X2Item_DefaultUpgrades'.static.FreeFireUpgradePresent);
  303.                 UpgradeTemplate.AddUpgradeAttachment('Crossbar', '', "ConvAttachments.Meshes.SM_ConvCrossbar", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvShotgun.ConvShotgun_CrossbarA", , , class'X2Item_DefaultUpgrades'.static.FreeFireUpgradePresent);
  304.                 UpgradeTemplate.AddUpgradeAttachment('Crossbar', '', "ConvAttachments.Meshes.SM_ConvCrossbar", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvShotgun.ConvShotgun_CrossbarA", , , class'X2Item_DefaultUpgrades'.static.FreeFireUpgradePresent);
  305.  
  306.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_ASX1_CV', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  307.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_ASX1_MG', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  308.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_ASX1_BM', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  309.  
  310.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Stock', "MjolnirScarMk.SkeletalMeshes.SM_HOR_ConvVektor_StockB", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_StockB", "img:///UILibrary_XPACK_StrategyImages.BeamVektor_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  311.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Stock', "MjolnirScarMk.SkeletalMeshes.SM_HOR_ConvVektor_StockB", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_StockB", "img:///UILibrary_XPACK_StrategyImages.BeamVektor_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  312.                 UpgradeTemplate.AddUpgradeAttachment('Stock', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Stock', "MjolnirScarMk.SkeletalMeshes.SM_HOR_ConvVektor_StockB", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_StockB", "img:///UILibrary_XPACK_StrategyImages.BeamVektor_StockB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_stock");
  313.             }
  314.            
  315.             // Add FreeKillUpgrade Attachments:
  316.             if (InStr(string(UpgradeTemplate.DataName), "FreeKillUpgrade_") != INDEX_NONE)
  317.             {
  318.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_MRX1_CV', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  319.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_MRX1_MG', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  320.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_MRX1_BM', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  321.  
  322.                 UpgradeTemplate.AddUpgradeAttachment('Suppressor', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Suppressor', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_SuppressorB", "", 'RM_LMGX1_CV', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_SuppressorB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  323.                 UpgradeTemplate.AddUpgradeAttachment('Suppressor', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Suppressor', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_SuppressorB", "", 'RM_LMGX1_MG', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_SuppressorB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  324.                 UpgradeTemplate.AddUpgradeAttachment('Suppressor', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Suppressor', "ConvAssaultRifle.Meshes.SM_ConvAssaultRifle_SuppressorB", "", 'RM_LMGX1_BM', , "img:///UILibrary_Common.ConvAssaultRifle.ConvAssault_SuppressorB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  325.  
  326.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_ASX1_CV', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  327.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_ASX1_MG', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  328.                 UpgradeTemplate.AddUpgradeAttachment('', '', "", "", 'RM_ASX1_BM', , "", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  329.  
  330.                 UpgradeTemplate.AddUpgradeAttachment('Suppressor', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Suppressor', "MjolnirScarMk.SkeletalMeshes.SM_HOR_Cnv_SCAR_SuppressorB", "", 'RM_CRX1_CV', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_SuppressorB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  331.                 UpgradeTemplate.AddUpgradeAttachment('Suppressor', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Suppressor', "MjolnirScarMk.SkeletalMeshes.SM_HOR_Cnv_SCAR_SuppressorB", "", 'RM_CRX1_MG', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_SuppressorB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  332.                 UpgradeTemplate.AddUpgradeAttachment('Suppressor', 'UIPawnLocation_WeaponUpgrade_AssaultRifle_Suppressor', "MjolnirScarMk.SkeletalMeshes.SM_HOR_Cnv_SCAR_SuppressorB", "", 'RM_CRX1_BM', , "img:///UILibrary_MjolnirCombatMK.ConvCombatM_SuppressorB", "img:///UILibrary_StrategyImages.X2InventoryIcons.ConvAssault_SuppressorB_inv", "img:///UILibrary_StrategyImages.X2InventoryIcons.Inv_weaponIcon_barrel");
  333.             }
  334.         }
  335.     }
  336. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement