Make every gun an Alien barrel - BLCM/BLCMods GitHub Wiki

This is a tutorial on how to turn any gun you want into an alien barrel.

I'll be using the hellshock as an example

How it works

You have to modify the AspectList in the barrel file of the gun to add two objects :

-InventoryMeshAttachmentAspectData (this is used to add the mesh in game)

-InventoryMaterialAspectData (this is used to add the mesh in the inventory)

Once these two objects are added to the AspectList you will need to redefined their properties, since they are empty.

AspectList Modification

There’s two way to modify an AspectList, which is an array :

  • You can either change of a part of the AspectList.

  • Or define it again entirely (always do this).

The hotfix to add both the objects you need should be :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock,AspectList,0,,(WeaponUseModeAspectData'/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:WeaponUseModeAspectData_1',WeaponBonusAspectData'/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_WeaponBonusAspectData',WeaponAudioAspectData'/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_WeaponAudioAspectData',WeaponAudioAspectData'/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_WeaponAudioAspectData_0',InventoryMeshAttachmentAspectData'/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMeshAttachmentAspectData',InventoryMaterialAspectData'/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMaterialAspectData')

AspectList_InventoryMeshAttachmentAspectData (from the class InventoryMeshAttachmentAspectData) and AspectList_InventoryMaterialAspectData (from the class InventoryMaterialAspectData) are now the two referenced objects you created, you'll now need to define their properties.

AspectList_InventoryMeshAttachmentAspectData

This has 4 properties you need to redefine.

GestaltData

This is the mesh data that will be added to the gun.

For the Hellshock i want to add the mesh of an Alien Barrel Pistol, which is done with this :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMeshAttachmentAspectData,GestaltData,0,,/Game/Gear/Weapons/_Shared/_Design/_Manufacturers/_ETech/Model/Rig/PS/SK_ALN_PS_Barrel.SK_ALN_PS_Barrel_GestaltData

ComponentName

This is just a simple string that represent the name of the mesh, for the Alien Barrels it's just AlienBarrel.

Ths hotfix would be :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMeshAttachmentAspectData,ComponentName,0,,AlienBarrel

GestaltMeshPartNames

This is the sub meshes you wan to add, for the Alien Barrel Pistol there are three : ALN_PS_Barrel (the main barrel), ALN_PS_Barrel_Dal (this is the mesh to make contact with the body of the gun, without it it will look weird), and ALN_PS_Barrel_Mod (This is the mesh for the Melee accessory on Alien Barrels).

On the Hellshock i only added the first two, like this :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMeshAttachmentAspectData,GestaltMeshPartNames,0,,(ALN_PS_Barrel,ALN_PS_Barrel_Dal)

AttachSocket

This is where you attach the mesh. For the Alien Barrel it will always be Etech_Attach.

The hotfix used is :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMeshAttachmentAspectData,AttachSocket,0,,Etech_Attach

AspectList_InventoryMaterialAspectData

This only has two properties.

PrimitiveComponentName

This is the name of the object you're adding, for the Alien Barrel it will be AlienBarrel.

The hotfix is :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMaterialAspectData,PrimitiveComponentName,0,,AlienBarrel

Material

This is the material used to paint the mesh in the inventory, without this it won't show up.

It's added like this :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/_Unique/Hellshock/Parts/Part_PS_MAL_Barrel_HellShock.Part_PS_MAL_Barrel_HellShock:AspectList_InventoryMaterialAspectData,Material,0,,/Game/Gear/Weapons/_Shared/_Design/_Manufacturers/_ETech/Model/Material/MI_Base_Alien_Barrels.MI_Base_Alien_Barrels

Other stuff

Of course copying this on another gun won't always work. If the gun is a SR, you'll use the SR Alien Barrel ect.

This method can also propably be used to completely change the apperance of the barrel to use the mesh from another manufacturer, though this is untested for now. But is should work. if you do this you'll need to 'erase' the base mesh of the gun.

Like so :

SparkPatchEntry,(1,1,0,),/Game/Gear/Weapons/Pistols/Maliwan/_Shared/_Design/Parts/Magazine/Part_PS_MAL_Mag_03.Part_PS_MAL_Mag_03,GestaltMeshPartName,0,,None