Hi, trying to get the grenade launcher working as a primary weapon. I use this also to digg into the code and various variables to gain a better basic understanding of the modding capabilities and options.
Working so far: * Grenade Launcher can be selected as primary weapon
Problem so far: * The weapon is stowed on the back (as the normal secondary launcher would) * The hands remain empty
I set Template.StowedLocation = eSlot_RightHand; // should not be not needed for primaries to the template. This shouldn't be needed, as (at least from the code snippets) all primary weapons go into the eSlot_RightHand.
Is this anywhere hardcoded or part of the animation set (upk? "i doubt it")?
The config to allow weapon to be equipped as primary +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="grenade_launcher")
The Weapon Template so far /** * This is the weapon template * This adds the LaunchGrenade ability replace the standart shot, that uses the * Adds the ReloadGrenadeLauncher ability replace Reload * Adds a extra grenade pocket, where the ammunition is placed */ static function X2DataTemplate CreateTemplate_IW_LightGrenadeLauncher() { local X2WeaponTemplate Template;
/**
could use X2GrenadeLauncherTemplate set sets
var int IncreaseGrenadeRange;
var int IncreaseGrenadeRadius;
*/
`CREATE_X2TEMPLATE(class'X2WeaponTemplate', Template, 'IW_LightGrenadeLauncher');
// from X2WeaponTemplate
Template.WeaponCat = 'grenade_launcher'; // is X2GrenadeLauncherTemplate default
Template.WeaponTech = 'conventional';
Template.UIArmoryCameraPointTag = 'UIPawnLocation_WeaponUpgrade_Shotgun';
Template.StowedLocation = eSlot_RightHand; // should not be not needed for primaries
Template.WeaponPanelImage = "_BeamRifle"; // XXX
// Template.ArmorTechCatForAltArchetype = ""; "powered" for heavy weapons
Template.iEnvironmentDamage = 50; //default.IW_LightGrenadeLauncher_iEnvironmentDamage;
Template.iRadius = 3; // (from grenade itself)
Template.iClipSize = 2 ; // reload after each shot (via config)
Template.Aim = 0;
//Template.BaseDamage = 0; // set by grenade
Template.CritChance = 0; // set by grenade
//Template.DamageTypeTemplateName = ; // set by grenade probably 'Explosion'
//Template.RangeAccuracy =
Template.iSoundRange = 30; // set by grenade
Template.bSoundOriginatesFromOwnerLocation = false; // is X2GrenadeLauncherTemplate default
Template.NumUpgradeSlots = 1; // experimental
// from X2EquipmentTemplate
Template.GameArchetype = "WP_ModExampleWeapon_CV.WP_ModExampleWeapon_CV";
//Template.GameArchetype = "WP_GrenadeLauncher_CV.WP_GrenadeLauncher_CV";
Template.Abilities.addItem('LaunchGrenade');
Template.Abilities.AddItem('Reload');
//Template.Abilities.addItem('ReloadGrenadeLauncher'); // TBD
Template.InventorySlot = eInvSlot_PrimaryWeapon;
// from X2ItemTemplate
Template.StartingItem = true;
// Template.bInfiniteItem = true; // not needed as starting items = true
Template.CanBeBuilt = false;
//Template.UpgradeItem =
Template.strImage = "img:///UILibrary_Common.ConvSecondaryWeapons.ConvGrenade";
return Template;
}