Skip to main content
From the Almost Complete Guide

This page reproduces a section of "An Almost Complete Guide to Far Cry 2 Modding" by Boggalog, verbatim, with attribution. See the guide index for the full attribution note.

Open world items/objects

Explosive Objects

xx_OA_Explosives.xml < entitylibrarypatchoverride.fcb (\patch_unpack\generated\)

Every explosive object in the open world has an entry in this file:

Explosives.BarrelDirectional01
Explosives.ExplodingCar_PREFAB
Explosives.ExplodingTruck_PREFAB
Explosives.ExplosiveBarrel_NEW
Explosives.GasBottle01
Explosives.GasBottle2
Explosives.GasBottle3
Explosives.GasBottle4
Explosives.GasCan01_NEW
Explosives.GasCan02_NEW
Explosives.GasPump
Explosives.Generator_PREFAB
Explosives.LiquidPropaneTank
Explosives.LiquidPropaneTank_Small
Explosives.OilTank_NEW
Explosives.SmallPropaneTank
Explosives.ThinPropaneTank

The most useful edit available here is changing the explosive properties of these objects.

All of the entries have an “ExtraStims” section where we can edit the explosive properties. In this section there may be two or three subsections under the titles “Stim”. Each “Stim” section is a different element of the explosion. We can tell the different explosive elements apart with the “selType” value, where “4” is a regular explosion and “7” is a fire explosion.

The main stats we can change here are: “nLevel” and “fRadius”.

“nLevel” controls the damage an explosion does. This doesn’t affect fire explosions as fire still does the same damage.

“fRadius” controls the size of an explosion.

This is an example regular explosion:

<object type="Stim">
<value name="hidEventName" type="String">Stims</value>
<value name="eventMask" type="UInt32">2</value>
<value name="hidTargetEntityId" type="UInt64">18446744073709551615</value>
<value hash="FC25E1F1" type="String"></value>
<value name="sDetail" type="Hash">FFFFFFFF</value>
<value name="selType" type="UInt32">4</value>
<value name="nLevel" type="UInt32">15</value>
<value name="fRadius" type="Float">10</value>
<value name="bFalloff" type="Bool">True</value>
<value name="nFalloffMinLevel" type="UInt32">1</value>

This is an example fire explosion:

<object type="Stim">
<value name="selStimType" type="UInt32">0</value>
<value name="hidEventName" type="String">Stims</value>
<value name="eventMask" type="UInt32">2</value>
<value name="hidTargetEntityId" type="UInt64">18446744073709551615</value>
<value hash="FC25E1F1" type="String"></value>
<value name="sDetail" type="Hash">FFFFFFFF</value>
<value name="selType" type="UInt32">7</value>
<value name="nLevel" type="UInt32">20</value>
<value name="fRadius" type="Float">1</value>
<value name="bFalloff" type="Bool">True</value>
<value name="nFalloffMinLevel" type="UInt32">8</value>

Weapons

xx_pickups.xml < entitylibrarypatchoverride.fcb (\patch_unpack\generated\)

Every weapon found in the open world has an entry in this file. This includes weapons found in the armory, dropped by enemies, and those found in the open world either given by buddies for missions or in found in the wild like the golden ak47:

Weapon NameArmory entryDropped by enemies entryOpen world entry
AK47Weapons.AK47_new.WeaponStorageWeapons.AK47_new.Dropped
Golden AK47Weapons.AK47_new.AK47_Gold
AS50Weapons.AS50_new.WeaponStorageWeapons.AS50_new.DroppedWeapons.AS50_new.Persistent
Carl GustafWeapons.CarlGustaf_new.WeaponStorageWeapons.CarlGustaf_new.DroppedWeapons.CarlGustaf_new.Persistent
Dart RifleWeapons.DartRifle_new.WeaponStorageWeapons.DartRifle_new.Dropped
Eagle .50Weapons.DesertEagle_new.WeaponStorageWeapons.DesertEagle_new.Dropped
DragunovWeapons.Dragunov_new.WeaponStorageWeapons.Dragunov_new.Dropped
Flare GunWeapons.FlareGun_new.WeaponStorageWeapons.FlareGun_new.Dropped
FALWeapons.FNFAL_new.WeaponStorageWeapons.FNFAL_new.Dropped
G3KA4Weapons.G3KA4_new.WeaponStorageWeapons.G3KA4_new.Dropped
IEDWeapons.IED_new.WeaponStorageWeapons.IED_new.Dropped
IthacaWeapons.Ithaca_new.WeaponStorageWeapons.Ithaca_new.Dropped
LPO50Weapons.LPO50_new.WeaponStorageWeapons.LPO50_new.DroppedWeapons.LPO50_new.Persistent
M16Weapons.M16_new.WeaponStorageWeapons.M16_new.DroppedWeapons.M16_new.Persistent
M1903Weapons.M1903_new.WeaponStorageWeapons.M1903_new.Dropped
M249 SawWeapons.M249_Saw_new.WeaponStorageWeapons.M249_Saw_new.DroppedWeapons.M249_Saw_new.Persistent
M67Weapons.M67.Dropped
M79Weapons.M79_new.WeaponStorageWeapons.M79_new.Dropped
MAC10Weapons.MAC10_new.WeaponStorageWeapons.MAC10_new.Dropped
MakarovWeapons.Makarov_new.WeaponStorageWeapons.Makarov_new.Dropped
MGL140Weapons.MGL140_new.WeaponStorageWeapons.MGL140_new.DroppedWeapons.MGL140_new.Persistent
MolotovWeapons.Molotov.Dropped
MortarWeapons.Mortar_new.WeaponStorageWeapons.Mortar_new.DroppedWeapons.Mortar_new.Persistent
MP5Weapons.MP5_new.WeaponStorageWeapons.MP5_new.Dropped
PKMWeapons.PKM_new.StorageRoomWeapons.PKM_new.Dropped
RPG7Weapons.RPG7_new.StorageRoomWeapons.RPG7_new.DroppedWeapons.RPG7_new.Persistent
Silenced MakarovWeapons.SilencedMakarov_6P9.StorageRoomWeapons.SilencedMakarov_6P9.Dropped
SPAS12Weapons.SPAS12_new.StorageRoomWeapons.SPAS12_new.Dropped
Star 45Weapons.Star45_new.StorageRoomWeapons.Star45_new.Dropped
USAS12Weapons.USAS12_new.StorageRoomWeapons.USAS12_new.DroppedWeapons.USAS12_new.Persistent
UziWeapons.Uzi_new.StorageRoomWeapons.Uzi_new.Dropped

Respawn time

xx_pickups.xml < entitylibrarypatchoverride.fcb (\patch_unpack\generated\)

Respawn time of the weapons is controlled by the “fRespawnTime” stat in the “Components” section.

A value of “0” means that the weapons will never respawn, any other value is measured in seconds.

These timers only count down while you are in the same area as the weapon. If you leave the area and return so that the area is reloaded, the timer is reset.

<object type="Components">
<object type="CPickupWeapon">
<value name="hidHasAliasName" type="Bool">False</value>
<value name="bEnable" type="Bool">True</value>
<value name="fRespawnTime" type="Float">0.1</value
<value name="bCustomBoundingBox" type="Bool">True</value>

Small Resource Pickups

This section will cover the small resource pickups in the game, so the small ammo/explosive/fuel/health boxes.

Ammo/explosive/fuel boxes - Ammo type/quantity

Decoding required
xx_pickups.xml < entitylibrarypatchoverride.fcb (\patch_unpack\generated\)

These are the entry titles of the different ammo/explosive/fuel boxes:

Ammo.Small_Ammo_Pickup
Ammo.Small_Explosive_Pickup
Ammo.Small_Fuel_Pickup

Ammo type is controlled by two stats, “AB258E09” and “ammoAmmoType”. Gadget type (grenades/molotovs) is controlled by the “archGadgetType” stat.

Ammo quantity is controlled by the “iAmmoQuantity” stat and gadget quantity is controlled by the “iGadgetQuantity” stat.

The ammo types and amounts for each pickup type are shown in the table below. You can edit the quantities or add/remove ammo types between the different pickups.

Ammo.Small_Ammo_PickupAmmo.Small_Explosive_PickupAmmo.Small_Fuel_Pickup
Ammo TypeAmmo QuantityAmmo TypeAmmo QuantityAmmo TypeAmmo Quantity
Pistol ammo AB258E09: 6465736572746561676C6500 ammoAmmoType: 6D6540FA8Mortar ammo AB258E09: 6D6F7274617200 ammoAmmoType: 4EE9BFD61Flamethrower ammo AB258E09: 6675656C00 ammoAmmoType: 31BD6FE9100
Assault rifle ammo AB258E09: 61737361756C747269666C6500 ammoAmmoType: BC6782FC30RPG/Crossbow ammo AB258E09: 726F636B657400 ammoAmmoType: CEB9BB1E1Flare gun ammo AB258E09: 666C61726500 ammoAmmoType: C86412FF3
Sniper rifle ammo AB258E09: 736E697065727269666C6500 ammoAmmoType: 7D6BD5F25M79 ammo AB258E09: 6D373900 ammoAmmoType: 704CA95D2Molotovs archGadgetType: gadgets.Grenades.Molotov2
Shotgun ammo AB258E09: 73686F7467756E00 ammoAmmoType: EEAE53E16IED ammo AB258E09: 69656400 ammoAmmoType: EA12131E1
SMG ammo AB258E09: 736D6700 ammoAmmoType: AA73EE0A30MGL140 ammo AB258E09: 6D676C31343000 ammoAmmoType: E710123D4
LMG ammo AB258E09: 6C6D6700 ammoAmmoType: BD090A4750Grenades archGadgetType: gadgets.Grenades.M672
Dart rifle ammo AB258E09: 646172747300 ammoAmmoType: FC2096BC2

Health boxes - Syrette quantity

Decoding required
xx_pickups.xml < entitylibrarypatchoverride.fcb (\patch_unpack\generated\)

The small health boxes have a single entry, titled “pickups.Health.Syrette”.

The number of syrettes given by the small health pickups is controlled by the “iBullets” stat in the “Components” section.

<value hash="AB258E09" type="BinHex">737972696E676500</value>
<value name="ammoAmmoType" hash="5957C8C7" type="Hash">FCD0CC7A</value> <!-- type="BinHex" value="7ACCD0FC" -->
<value name="iBullets" hash="C38CDB93" type="Int32">1</value> <!-- type="BinHex" value="01000000" →