Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class X2DownloadableContentInfo_DeathSquadWeapons extends X2DownloadableContentInfo config(DeathSquad);
- struct AddWeaponAttachment
- {
- var string Type;
- var name AttachSocket;
- var name UIArmoryCameraPointTag;
- var string MeshName;
- var string ProjectileName;
- var name MatchWeaponTemplate;
- var bool AttachToPawn;
- var string IconName;
- var string InventoryIconName;
- var string InventoryCategoryIcon;
- var name AttachmentFn;
- };
- var config array<AddWeaponAttachment> ADD_ATTACHMENTS;
- static event OnPostTemplatesCreated()
- {
- local X2ItemTemplateManager ItemMgr;
- ItemMgr = class'X2ItemTemplateManager'.static.GetItemTemplateManager();
- AddAttachments(ItemMgr);
- }
- //Stole from Musashi's Primary Secondaries
- static function AddAttachments(X2ItemTemplateManager ItemMgr)
- {
- local array<name> AttachmentTypes;
- local name AttachmentType;
- AttachmentTypes.AddItem('CritUpgrade_Bsc');
- AttachmentTypes.AddItem('CritUpgrade_Adv');
- AttachmentTypes.AddItem('CritUpgrade_Sup');
- AttachmentTypes.AddItem('AimUpgrade_Bsc');
- AttachmentTypes.AddItem('AimUpgrade_Adv');
- AttachmentTypes.AddItem('AimUpgrade_Sup');
- AttachmentTypes.AddItem('ClipSizeUpgrade_Bsc');
- AttachmentTypes.AddItem('ClipSizeUpgrade_Adv');
- AttachmentTypes.AddItem('ClipSizeUpgrade_Sup');
- AttachmentTypes.AddItem('FreeFireUpgrade_Bsc');
- AttachmentTypes.AddItem('FreeFireUpgrade_Adv');
- AttachmentTypes.AddItem('FreeFireUpgrade_Sup');
- AttachmentTypes.AddItem('ReloadUpgrade_Bsc');
- AttachmentTypes.AddItem('ReloadUpgrade_Adv');
- AttachmentTypes.AddItem('ReloadUpgrade_Sup');
- AttachmentTypes.AddItem('MissDamageUpgrade_Bsc');
- AttachmentTypes.AddItem('MissDamageUpgrade_Adv');
- AttachmentTypes.AddItem('MissDamageUpgrade_Sup');
- AttachmentTypes.AddItem('FreeKillUpgrade_Bsc');
- AttachmentTypes.AddItem('FreeKillUpgrade_Adv');
- AttachmentTypes.AddItem('FreeKillUpgrade_Sup');
- foreach AttachmentTypes(AttachmentType)
- {
- AddAttachment(AttachmentType, default.ADD_ATTACHMENTS, ItemMgr);
- }
- }
- static function AddAttachment(name TemplateName, array<AddWeaponAttachment> Attachments, X2ItemTemplateManager ItemMgr)
- {
- local X2WeaponUpgradeTemplate Template;
- local AddWeaponAttachment Attachment;
- local delegate<X2TacticalGameRulesetDataStructures.CheckUpgradeStatus> CheckFN;
- Template = X2WeaponUpgradeTemplate(ItemMgr.FindItemTemplate(TemplateName));
- foreach Attachments(Attachment)
- {
- if (InStr(string(TemplateName), Attachment.Type) != INDEX_NONE)
- {
- switch(Attachment.AttachmentFn)
- {
- case ('NoReloadUpgradePresent'):
- CheckFN = class'X2Item_DefaultUpgrades'.static.NoReloadUpgradePresent;
- break;
- case ('ReloadUpgradePresent'):
- CheckFN = class'X2Item_DefaultUpgrades'.static.ReloadUpgradePresent;
- break;
- case ('NoClipSizeUpgradePresent'):
- CheckFN = class'X2Item_DefaultUpgrades'.static.NoClipSizeUpgradePresent;
- break;
- case ('ClipSizeUpgradePresent'):
- CheckFN = class'X2Item_DefaultUpgrades'.static.ClipSizeUpgradePresent;
- break;
- case ('NoFreeFireUpgradePresent'):
- CheckFN = class'X2Item_DefaultUpgrades'.static.NoFreeFireUpgradePresent;
- break;
- case ('FreeFireUpgradePresent'):
- CheckFN = class'X2Item_DefaultUpgrades'.static.FreeFireUpgradePresent;
- break;
- default:
- CheckFN = none;
- break;
- }
- Template.AddUpgradeAttachment(Attachment.AttachSocket, Attachment.UIArmoryCameraPointTag, Attachment.MeshName, Attachment.ProjectileName, Attachment.MatchWeaponTemplate, Attachment.AttachToPawn, Attachment.IconName, Attachment.InventoryIconName, Attachment.InventoryCategoryIcon, CheckFN);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement