locidItemNameId="199206"
locidDescriptionId="145625"
locidLockText="346817920" and
locidRecommendedUse="625038672" - these are all pointers to entries in the oasisstring.bin file which contains all of the localized text. As you would expect locidItemNameId is the name of the item (in this case "Grenade Launcher Rounds"). locidDescriptionID gives the description ("X rounds of ammo for the M-79, GL-94, and GL-A87 grenade launchers"). locidLockText is entries like "liberate X more bell towers to get this weapon free". locidRecommendedUse is entries like "use in crafting","use in syringes" and "sell".
shpcatCategory="11"
shpscataSubCategory1="190"
shpscatbSubCategory2="255"
shpitpeItemType="73"
shpisubtpeItemSubType="255" - these are all used to designate what tabs the item appears in. In this case it's the ammo tab (shpscataSubCategory1=190) and shpcatCatgory=11 designates it's a buyable item as opposed to shpcatCatgory=12 which is for sellable items like leaves, loot and animal parts.
Unfortunately these numbers cannot simply be changed without also changing entries in another set of files that designate which items go with which categories. When I find these files again I will place their names here.
bIsSingleHanded="0" - this is a text only designator which indicates whether the shop says an item is one handed or two handed. Although it can be changed it does not actually change the weapon's behavior and instead that must be changed in the weapons archetype file itself.
ammoAmmoType="m79" - indicates for ammo which ammo type to fill. Valid entries include m79, arrow, bolt, c4, fuel, mine, pistol, shotgun, assault, smg, lmg, rpg, sniper and harpoon. In addition guns for hire tokens have the ammotype "gunsforhire". Oddly throwables do not use this entry to designate ammo.
iAmmoAmount="6" - this is how much ammo you get with each purchase. Theoretically changing this to 1 would allow purchasing single units (and thus not charge you for ammo you don't need), but this could be very tedious to use when purchasing large amounts.
selGadgetType="0" - this is used in conjunction with iAmmoAmount for the throwable items instead of the ammoAmmoType entry. Valid entries are 1 for Grenades (also weirdly bait has this set to 1 as well), 2 for molotovs, and 3 for throwing knives.
fRotationSpeed="0.07" and
fRotationAmplitude="0.03" - These are old entries used with the FC3 type shop menu where the 3D items rotated and moved. Probably left over from early development... Who knows maybe someday they will give us FC3 playable in the FC4 engine (doubtful but it would be cool). In addition DefaultPositionOnScreen vectorDisplayDefaultPosition="-0.078,-0.131,0.29" DisplayDefaultAngles="-4.1,-29.7,93.9" vectorDisplayDefaultPositionWithSilencer="0,0,0" DisplayDefaultAnglesWithSilencer="0,0,0" and CategoryPositionOnScreen bDisplayAsDefaultItem="0" vectorDisplayDefaultCategoryPosition="0,0,0" DisplayDefaultCategoryAngles="0,0,0" are all leftovers from the old system. None of this is relevant to the new static shop menu which uses 2D icons.
fRefillAllAmmoCostMultiplier="1" - presumably this will alter the cost charged for this ammo type when a player uses the refill ammo option of the shop. I've not experimented with this as there are easier ways to control the costs of ammo. If you don't want players to be able to use Refill All you might be able to set these entries very high thus making it impossible or undesirable to use the option. Testing would of course be required.
iXPOnLoot="0" and
iKarmaOnLoot="0" - these are rewarded to the player when they pickup the item from the game world. I have used these in my mod to reward a small karma benefit for picking purple flowers as well as a small XP bonus for picking white leaves as well as skinning animals.
iSortId="12" - this is used to sort the icons in each tab of the shop. The lower the number, the closer to the top the item appears. You can reorder how the weapons appear by changing these values.
UnlockOnMissionComplete="" - this is how you can have certain weapons (or items) locked until a player completes specific campaign missions. For example the Desert Eagle (D50) doesn't unlock until you complete the mission key to the north and so it has an entry of UnlockOnMissionComplete="MIS_310_MAIN".
UnlockFromScript="" - items can also be unlocked via scripts. Typically this is used for giving free weapons from belltowers via entries such as UnlockFromScript="Tower1", UnlockFromScript="Tower2" etc. The only other mentioned script is UnlockFromScript="SKILL2SHOP" which is bestowed by the Trade Agreement skill and is used in the entries for special arrows and sticky upgrades.
ecoUnlockFromShopItem="0" - as mentioned above under disId this entry keeps certain items locked until you unlock the indicated item. One of the few examples of this is Guns For Hire Upgrade 2 which has ecoUnlockFromShopItem="2191" with item 2191 being the disId of Guns For Hire Upgrade 1.
sUnlocksAbility="" - this tells the game what ability to give the player when he unlocks the item. The only mentioned abilities here are the ones associated with Guns For Hire tokens. It's unfortunate that there aren't more, because it hints that the system could be used to bestow other powers to the player, but as with all things in modding Far Cry nothing is ever that easy
bVisibleWhenLocked="0" - if this entry is set to bVisibleWhenLocked="1" then the weapon or item will not appear in the shop until the player has unlocked it. Some items appear in the shop menu before they are unlocked to give the player something to strive for (but not all weapons do).
bIsWeaponStatistics="0" - if this entry is set to bIsWeaponStatistics="1" then the game will read additional entries and display them for the weapon sattistics in the lower right corner of the shop window. Here is an example of the default weapon statistics from the AK47 (please be aware that for many weapons the statistics seem to be very arbitrary by default rather then based on the actual weapon data in the weapon archetype files):
<WeaponStatistics iAccuracy="4" iDammage="5" iRange="4" iFireRate="4" iHandling="5" iStarRating="2" iStarRatingBonus="0" />
Statistics create a horizontal bar whose length is determined on a scale of 1 to 10. You can use decimals (for example iAccuracy="4.5"), but be aware that increments less than .5 don't show up prominently so it may be hard to see a .1 or .2 difference between two weapons... Incidently iStarRating and iStarRatingBonus are holdovers from the Far Cry 3 menu system and do not show up in Far Cry 4.
sULC_Name="" - this tag is used by the game to designate items which are typically only available with the relevant version of Far Cry 4 (for example if you own a preorder version or the season pass). Items locked with these tags therefore do not show up in the shops of players who do not have the relevant version. This entry is also used to lock items for which you have not spent uplay points on (for example the A.J.M. 9 "Robocop" Pistol from Blood Dragon has the entry sULC="AJM9_BlooddragonGun"). Other notable items are the Driller (sULC="DrillerPKM"), Sandman (sULC="Sandman1911Pistol"), Elephant Gun (sULC="ElephantGun700Nitro") and Hurk's Harpoon Gun (sULC="HurksReturn")
You can remove these ULC requirements however the game has a built in security "feature" which will cause the related item to be removed from your inventory any time the game loads a new area.
Also note that all of the weapons are now available to purchasers of the Season Pass so if you own the season pass you should be able to see all of these weapons in the game's shop.
wikiItemId="65535"
sStatStringToUpdate="" - these would be used to update the progress screen and game wiki, but they are again designed for the older FC3 version of the files and do not update any of the FC4 screens.