Explore GameReplays...

Battle for Middle Earth 2 1.06

Basic .Ini Guide

Closed Topic Start new topic
# 1Thorin Oct 30 2006, 14:36 PM
The Battle for Middle-Earth 2

Basic .Ini Guide


This guide concerns the basic stuff you need to know about the .ini files. You all must have heard someone talk about them at some point, and you may be wondering how they work, how you can open them, etc. First I'll tell you what the .ini files are. The .ini files contain all the info for the game, if you change a value, this will be changed exactly the same in-game. This makes it easy to make mod's, which can be a lot of fun sometimes. Always copy the correct one first, cause otherwise you can't play online due to different .ini files and if you wanna play the normal game, you'll have to either reinstall the game, change everything back or wait for a patch to come. Another thing is that it might take quite a while before you understand fully how they work, actually there are only a select few who know fully how they work. But for basic modding and just for looking stuff up, you only need to know the basics.

How to open the .ini files: The ini files are in your BFME2 Folder, under the name ini.big. To open them and have them view properly, you'll need to download Finalbig first. Here's where you can download it: FinalBig Once installed, open the .ini files and you'll see this:

Attached Image

On the left is a long list of files, each one contains specific info, whether it regards a general thing like armor, or a unit, like Guardians. Click on one to get a document viewed on the right side.

Basic .Ini Files:

There are about 5 general .Ini files and a lot for each unit, structure and hero. First I'm gonna discuss the basic ones specifically and then I'm gonna talk about the unit specific .Ini files in general.

General .Ini Files:

The 5 general .ini files are: Armor.ini; Attributemodifier.ini; Gamedata.ini; Specialpower.ini and Weapon.ini

Armor.ini:

Here is where all the armor's are listed, for normal heroes, Create-a-Heroes, units, structures and also neutral things. Each armor type has a list of armor values under it, so say if you were looking for the stats of a Guardian, scroll down to the Dwarven Armor section and look for Guardian. Here's how a Guardian's armor looks in the .ini files:

Armor DwarvenGuardianArmor
Armor = DEFAULT 100%
Armor = SLASH 100%
Armor = PIERCE 75% ; ; 150; ; 110
Armor = SPECIALIST 50% ; ; 40
Armor = CRUSH 160% ; ; 100
Armor = SIEGE 100%
Armor = FLAME 100%
Armor = MAGIC 100%
Armor = HERO 200%
Armor = CAVALRY 200%; ; 150
Armor = HERO_RANGED 140%; ; 200
Armor = STRUCTURAL 120% ; ; 100
FlankedPenalty = 33%; ; 50
Armor = CAVALRY_RANGED 110% ; ;
Armor = POISON 60% ; ;
End

Each damage type is mentioned and how much damage is taken from that specific damage type in percentages. A 200% armor value indicates that that unit takes twice as much damage from that damage type. So if your Guardian gets attacked by a hero who deals 200 damage per hit, the Guardian takes 400 damage, cause 200 x 2 = 400. A simple formula for how to calculate the damage taken is: Dt = Dd x (Av/100)

Dt = Damage taken
Dd = Damage dealt
Av = Armor value

If you want to know what units deal what sort of damage type, you'll have to use Weapon.ini which I will talk about later on. A sidenote, default is for all non-specified damage types so if a weapon doesn't have a damage type or a damagefx type (Extra damage type, replaces the normal damage type if that isn't listed), the damage type will be default. So if a unit deals uruk damage, and it doesn't have a replacement damage type (damagefx), it'll turn to default.

Heavy Armor: A lot of units in this game can get Heavy Armor as an upgrade, which greatly improves a units armor. Most armor values are halfed, but some are divided by 5, making that unit very resistant. Let's have a look at a Guardian's Heavy Armor:

Armor DwarvenGuardianHeavyArmor
Armor = DEFAULT 50% ; 40%
Armor = SLASH 50% ; 40%
Armor = PIERCE 30% ; 20%; ; 75
Armor = SPECIALIST 20% ;
Armor = CRUSH 80% ; 50% ; ; 50
Armor = SIEGE 50% ; 100%
Armor = FLAME 30% ; 0%; ; 50
Armor = MAGIC 20% ; 100%; ; 50; ; 30
Armor = HERO 100% ; 50%
Armor = HERO_RANGED 70% ; 50% ; ; 100
Armor = CAVALRY 120% ; ; 75
Armor = STRUCTURAL 40% ; ; 20
FlankedPenalty = 50%
Armor = CAVALRY_RANGED 70% ; ; ; ;30
Armor = POISON 30% ; ;
End

As you can see, if you compare this armor list to the normal one, that a lot of the values are a lot lower. If you look at Magic damage, first it was 100%, so a Guardian would take normal damage from it, but with heavy armor, it only takes 20% or 1/5th of the damage dealt, making it survive 5 times longer than a normal Guardian, so if you are only facing units dealing magic damage (happens very rarely, unless you're vs Silverthorn archers alone), you practically have 5 normal guardians all in 1. Pretty effective he?

P.S. All the ;'s you see in the armor lists indicate that a change was applied so all the armor values behind the ; belong to the past and previous patch versions.

Attributemodifier.ini:

This is the .ini file where you can find all you need to know about buffs, spells, leaderships, abilities, debuffs, etc. All the names might seem a bit weird and difficult to you, not knowing to which hero or unit they apply. This info is listed in the unit specific files, and if you've found the right leadership, buff, spell, etc. You can look that name up in attributemodifier.ini where you will see if an ability can stack or not, what sort of buffs it gives. Let's have a look at a standard Armor Leadership:

ModifierList GenericArmorLeadership
Category = BUFF
Modifier = ARMOR 50%
Duration = 3000
FX = FX_GenericArmorLeadership ; ;FX_GenericLeadership
ReplaceInCategoryIfLongest = Yes
IgnoreIfAnticategoryActive = Yes
End

It's category is buff, so it doesn't stack with another Armor Leadership, cause buffs don't stack with other buffs unless they give different boni. The buff it gives is +50% armor, which is obvious to see. The duration indicates how long it lasts if the unit is out of the radius of the hero/statue giving the leadership.

If you look at the top of this page, you'll see a long list of all sorts of modifiers (buff types like speed, damage, armor, etc.) and categories (like Leadership, Spell). Behind the each modifier, you see it say additive or multiplicative. Additive means that if you wanna give a +25% armor buff or a +30% range buff, that you you have to say Armor 25% or Range 30%. Multiplicative means that if you want to give a +50% damage buff or a -25% speed buff, you'll have to say Damage 150% or Speed 75%, the main and only difference between the two is that additive is based from 0% and multiplicative from 100%.

If you want to know more about Leaderships, Buffs, Spells, etc. read Locke's and Celebrimor's articles on 1.05 Leadership and Leadership stacking:
Locke's 1.05 Leadership Article
Celebrimor's Leadership Stacking Article

Gamedata.ini:

The most important .ini file, this one contains almost all the basic date about every unit, building and hero. It's a huge file, so if you're looking for anything specific, use Ctrl + F to search for words. So if you say are looking for a Soldier's stats, use Ctrl + F, then type in Soldier and eventually you should reach this part:

Melee units:

;------------------------SOLDIER-------------
#define GONDOR_SOLDIER_BUILDCOST 200
#define GONDOR_SOLDIER_BUILDTIME 20 ;20
#define GONDOR_SOLDIER_HEALTH 200
#define GONDOR_SOLDIER_HEALTH_DAMAGED 100
#define GONDOR_SOLDIER_HEALTH_RECOVERY_TIME 10000

#define GONDOR_SOLDIER_VISION_RANGE 175
#define GONDOR_SOLDIER_SHROUD_RANGE 400

#define GONDOR_SOLDIER_HORDE_VISION_RANGE 175
#define GONDOR_SOLDIER_HORDE_SHROUD_RANGE 400


#define GONDOR_SOLDIER_SWORD 40
#define GONDOR_SOLDIER_SWORD_UPGRADE 90 ; ; 80
#define GONDOR_SOLDIER_SWORD_PREATTACKDELAY 500
#define GONDOR_SOLDIER_SWORD_DELAYBETWEENSHOTS 1000
#define GONDOR_SOLDIER_SWORD_FIRINGDURATION 1000
#define GONDOR_SOLDIER_BOUNTY_VALUE 4

As you can see here, the buildcost of a Soldier is 200, it's buildtime 20s and it's health 200. Vision Range means how far each individual Soldier can see and Horde Vision Range how far the entire battallion can see. Then we see Soldier Sword standing there, which indicates how much damage it deals per hit unupgraded, which is 40. Underneath that, you see Soldier Sword Upgrade standing, which logically refers to how much damage it deals when upgraded with Forged Blades, which is 90.

Now we are coming to it's attackspeed. The attackspeed of a unit consists of 3 parts; Pre-attackdelay, Delay Between Shots and Firing Duration. Those might not immediately ring a bell, so I'll explain each of them. Pre-attackdelay is how long a unit takes to start its attack, for example how long it takes for the Soldier to charge up his sword attack. Then comes Delay between shots, which is the time between the pre-attackdelay and the next. Firing Duration is how long it takes the unit to fire, so for a soldier to strike with his sword. If Delay between shots is longer than Firing Duration or vice versa, you should add that one up with Pre-attackdelay and you'll have the attackspeed of the unit, which in this case is 1500 (in milliseconds).

Last is the Bounty Value, which is how much money you get for say killing that unit when you've got a hero like Eomer giving you Outlaw Leadership.

Archers:

Archers are slightly different from melee units when it comes to attackspeed and upgraded damage. Here is the gamedata.ini stats of a Ranger:

;------------------------RANGER-------------
#define GONDOR_RANGER_BUILDCOST 600 ; ; 500
#define GONDOR_RANGER_BUILDTIME 30
#define GONDOR_RANGER_HEALTH 300 ;120 ; ; 400
#define GONDOR_RANGER_HEALTH_DAMAGED 200 ;120
#define GONDOR_RANGER_HEALTH_RECOVERY_TIME 10000
#define GONDOR_RANGER_VISION_RANGE 480
#define GONDOR_RANGER_HORDE_VISION_RANGE 470
#define GONDOR_RANGER_HORDE_SHROUD_RANGE 500

#define GONDOR_RANGER_RANGE 400
#define GONDOR_RANGER_BOMBARD_MINRANGE 150
#define GONDOR_RANGER_BOMBARD_MAXRANGE 460 ; ; 400

#define GONDOR_RANGER_DAMAGE 65 ; ; 75
#define GONDOR_RANGER_SWORD_DAMAGE 20
#define GONDOR_RANGER_SWORD_DAMAGE_UPGRADE 40

#define GONDOR_RANGER_FIRE_UPGRADE_DAMAGE 90 ;10 ; ; 100
#define GONDOR_RANGER_FIRE_UPGRADE_DAMAGE_FLAME 18 ;20 ; ; 50

#define GONDOR_RANGER_BOW_PREATTACKDELAY 400 ; ; 1000
#define GONDOR_RANGER_BOW_RELOADTIME_MIN 1500
#define GONDOR_RANGER_BOW_RELOADTIME_MAX 2000
#define GONDOR_RANGER_BOUNTY_VALUE 12

#define GONDOR_RANGER_LONGSHOT_RANGE 1000 ; ; 9999
#define GONDOR_RANGER_LONGSHOT_CURSOR_RADIUS 80
#define GONDOR_RANGER_LONGSHOT_DAMAGE 100 ; ; 200
#define GONDOR_RANGER_LONGSHOT_RELOAD_TIME 240000

#define DUNEDAIN_ALLIES_LIFETIME 120000

Looking at this, you'll notice that not a lot of things are different, except two things. Attackspeed and upgraded damage. First of all, attackspeed, instead of delay between shots and firing duration, you see Bow Reloadtime Min. and Max.. To get the attackspeed of the unit, add them both up, then divide by 2 and you'll get it's attackspeed. The second exception is the upgraded damage, a Ranger's unupgraded damage is 65. But when upgraded, the normal damage (pierce) goes up to 90 and gets a +18 Flame damage as well, so you've got 90 pierce and 18 flame when upgraded.

Buildings:

Now onto buildings. They too do not vary that much from normal unit stats in gamedata.ini , but there are some differences. Let's have a look at the stats of a simple Mine Shaft:

;------------------------MINE SHAFT -------------

#define DWARVEN_MINE_BUILDCOST 300
#define DWARVEN_MINE_BUILDTIME 20 ; ; 15

#define DWARVEN_MINE_HEALTH 2700 ; ; 2000
#define DWARVEN_MINE_HEALTH_DAMAGED 1500 ; ; 1333
#define DWARVEN_MINE_HEALTH_REALLY_DAMAGED 766 ; ; 667

#define DWARVEN_MINE_LEVEL2_UPGRADE_COST 500
#define DWARVEN_MINE_LEVEL2_UPGRADE_BUILDTIME 30
#define DWARVEN_MINE_LEVEL3_UPGRADE_COST 1000
#define DWARVEN_MINE_LEVEL3_UPGRADE_BUILDTIME 60
#define DWARVEN_MINE_BOUNTY_VALUE 75
#define DWARVEN_MINE_VISION_RANGE 160
#define DWARVEN_MINE_SHROUD_CLEAR 300

#define DWARVEN_MINE_LVL2_EXP_NEEDED 1500
#define DWARVEN_MINE_LVL3_EXP_NEEDED 3000
#define DWARVEN_MINE_LVL1_EXP_AWARD 40
#define DWARVEN_MINE_LVL2_EXP_AWARD 50
#define DWARVEN_MINE_LVL3_EXP_AWARD 60

#define DWARVEN_MINE_LVL2_HP_ADD 500
#define DWARVEN_MINE_LVL3_HP_ADD 1000

#define DWARVEN_MINE_MONEY_TIME 6000
#define DWARVEN_MINE_MONEY_AMOUNT 25
#define DWARVEN_MINE_MONEY_RANGE 300

At the top, you see the standard buildcost and buildtime. After that you see it's health (2700), when its damaged (1500) and when it's really damaged (766). In-game this is seen when it's under attack and it's health reaches a point where it's appearance will change to that of a damaged mine or a really damaged one. Scrolling a bit down we see how much it costs and takes to level it up to level 2 and level 3, but (which can't be seen in gamedata.ini) these are not activated, cause you've never been able to upgrade a mine by buying an upgrade. After that, we see the bounty value (award from killing it) and how far it can see. Underneath that is how much it needs to level up and how much it gives to the units who destroy it at a certain level. Below that, you can see how much extra health it obtains by leveling up and last, you'll see how long each cycle takes in milliseconds, how much it gives each cycle and how large the radius of the mine is.

Towers:

Towers and other structures that can attack nearby enemy units are a bit different from the standard structures, but if you look at their stats it looks like they're exactly the same:

#define DWARVEN_SENTRY_TOWER_HEALTH 2500 ; ; 3000
#define DWARVEN_SENTRY_TOWER_BUILDCOST 450 ; ; 500
#define DWARVEN_SENTRY_TOWER_BUILDTIME 37 ; ; 60
#define DWARVEN_SENTRY_TOWER_BOUNTY 250

#define DWARVEN_SENTRY_TOWER_HEALTH_DAMAGED 1600 ; ; 2000
#define DWARVEN_SENTRY_TOWER_HEALTH_REALLYDAMAGED 800 ; ; 1000

#define DWARVEN_SENTRY_TOWER_AXE_UPGRADE_BUILDCOST 500
#define DWARVEN_SENTRY_TOWER_AXE_UPGRADE_BUILDTIME 30

But if you want to know how much damage a tower deals and how fast, you'll have to scroll up to this part:]

;----------------------Keep Bow-------------------
#define KEEP_BOW_DAMAGE 75
#define KEEP_BOW_UPGRADED_DAMAGE 75
#define KEEP_ARCHER_RANGE 250

#define KEEP_BOW_PREATTACKDELAY 5
#define KEEP_BOW_DELAYBETWEENSHOTS_MIN 5
#define KEEP_BOW_DELAYBETWEENSHOTS_MAX 10 ;20
#define KEEP_BOW_FIRINGDURATION 5

As you can see, it's damage, range and attackspeed is listed. This bit applies to almost every firing structure in the game, so this is the standard stats of a firing structure.

Heroes:

Heroes are exceptional units that are described a bit more elaborate in gamedata.ini . Below is the stats of Haldir:

;-----------------------Haldir----------------------------
#define HALDIR_BUILDCOST 1100 ; ; 2000
#define HALDIR_BUILDTIME 70 ; ; 30
#define HALDIR_HEALTH 2200 ; ; 2000

#define HALDIR_LVL1_EXP_AWARD 35
#define HALDIR_LVL2_EXP_AWARD 40
#define HALDIR_LVL3_EXP_AWARD 45
#define HALDIR_LVL4_EXP_AWARD 50
#define HALDIR_LVL5_EXP_AWARD 60
#define HALDIR_LVL6_EXP_AWARD 75
#define HALDIR_LVL7_EXP_AWARD 90
#define HALDIR_LVL8_EXP_AWARD 105
#define HALDIR_LVL9_EXP_AWARD 125
#define HALDIR_LVL10_EXP_AWARD 150

#define HALDIR_LVL2_EXP_NEEDED 50 ;200
#define HALDIR_LVL3_EXP_NEEDED 100 ;400
#define HALDIR_LVL4_EXP_NEEDED 150 ;600 ; ; 200
#define HALDIR_LVL5_EXP_NEEDED 500 ;800 ; ; 300
#define HALDIR_LVL6_EXP_NEEDED 850 ;1000 ; ; 400
#define HALDIR_LVL7_EXP_NEEDED 1200 ;1200 ; ; 500
#define HALDIR_LVL8_EXP_NEEDED 1500 ;1400 ; ; 700
#define HALDIR_LVL9_EXP_NEEDED 1800 ;1600 ; ; 900
#define HALDIR_LVL10_EXP_NEEDED 2100 ;2000 ; ; 1100

#define HALDIR_PREATTACKDELAY 1200 ; ; 800
#define HALDIR_DELAYBETWEENSHOTS 0
#define HALDIR_FIRINGDURATION 0
#define HALDIR_RELOADTIME_MIN 2000
#define HALDIR_RELOADTIME_MAX 2000
#define HALDIR_BOW_RANGE 350 ; ; 400
#define HALDIR_BOW_DAMAGE 100
#define HALDIR_GOLDENARROW_DAMAGE 300 ; ; 200

#define HALDIR_SWORD_PREATTACKDELAY 500
#define HALDIR_SWORD_DELAYBETWEENSHOTS 800 ; ; 1
#define HALDIR_SWORD_FIRINGDURATION 500
#define HALDIR_SWORD_DAMAGE 60 ; ; 120

#define SPELL_HALDIR_GOLDENARROW_DAYLIGHT_DURATION_MS 10000

The two main things that are noticable are the Exp. Award and the Exp. Needed . As explained earlier, exp. award shows how much exp. you get by killing that hero at a certain level. Exp. needed shows how much experience a hero needs to level up to a specific level, for example Haldir needs 2100 experience to level up to level 10, which is quite a lot if you think about the fact that most things, even strong structures, do not give more experience than 100.

Speed:

As you may have noticed, the speed of each unit, hero isn't mentioned in their normal stats, only in a few exceptional cases (like the BW's). That's because nearly all units, heroes have a standard speed which is listed almost at the bottom of gamedata.ini . Here is the header. Use Ctrl + F to search for that.

;------------------------HORDE MOVEMENT DATA------------------------------

Here's a pic of the speed section:

Attached Image

To know what the speed is of say a Knight, go to unit specific .ini file that concerns Knights and search for Locomotor, then you will see a bit that's listed here. For example, under Locomotor it says Normal_Cavalry_Horde_Speed, you look it up in the Speed section in gamedata.ini and you find that it's speed is 80.

That's all the important, basic stuff concerning gamedata.ini.

Specialpowers.ini:

Although a useful one, not very important. It mostly shows what the reloadtime of all abilities, powers, etc. are. Let's have a look at say Gloin's Slam:

SpecialPower SpecialAbilityDwarvenGloinSlam
Enum = SPECIAL_AT_VISIBLE_GROUNDED_OBJECT
ReloadTime = 60000
End

From this you'll know that it recharges in 60s (60000/1000 = 60). Other than that, this ini file doesn't have much use. Still it's nice to know how long it takes for an ability or a power to recharge.

Weapon.ini

Fairly difficult, but really important if you want to know what damage type a certain unit deals, what scalars it has vs something, etc. Like gamedata.ini, weapon.ini is a very large file, so using Ctrl + F to search is a handy function. First, let's have a look at an easy and simple unit, the Gondor Soldier:

Weapon GondorSword
LeechRangeWeapon = Yes
AttackRange = STANDARD_MELEE_ATTACK_RANGE
MeleeWeapon = Yes
DelayBetweenShots = GONDOR_SOLDIER_SWORD_DELAYBETWEENSHOTS ; Bad Things happen if delay between shots is less than Preattack+Firing times. You are ready to fire before you are done firing.
PreAttackDelay = GONDOR_SOLDIER_SWORD_PREATTACKDELAY ; 400 is sword swing delay time before contact with target.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FireFX = FX_GondorSwordHit
FireFlankFX = FX_Flanking
FiringDuration = GONDOR_SOLDIER_SWORD_FIRINGDURATION ; Duration of the sword swing

DamageNugget ; A basic Nugget that just does damage
Damage = GONDOR_SOLDIER_SWORD
Radius = 0.0
DelayTime = 0
DamageType = SLASH
DamageFXType = SWORD_SLASH
DeathType = NORMAL
FlankingBonus = 50%
End
End

From this you can see what it's damage type is, slash namely, and if the Gondor Soldier has any scalars when it's unupgraded. Seeing that there are no scalars listed here, there are none. All the things like STANDARD_MELEE_ATTACK_RANGE are usually listed in gamedata.ini, so select it, use Ctrl + C to copy it, then go to gamedata.ini, use Ctrl + F and paste it there with Ctrl + V. It'll take you instantly to that part.

;------------------------------------------------------------------------------
Weapon GondorSwordUpgraded
LeechRangeWeapon = Yes
AttackRange = STANDARD_MELEE_ATTACK_RANGE
MeleeWeapon = Yes
DelayBetweenShots = GONDOR_SOLDIER_SWORD_DELAYBETWEENSHOTS ; Bad Things happen if delay between shots is less than Preattack+Firing times. You are ready to fire before you are done firing.
PreAttackDelay = GONDOR_SOLDIER_SWORD_PREATTACKDELAY ; 400 is sword swing delay time before contact with target.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FireFX = FX_GondorSwordHit
FireFlankFX = FX_Flanking
FiringDuration = GONDOR_SOLDIER_SWORD_FIRINGDURATION ; Duration of the sword swing

DamageNugget ; A basic Nugget that just does damage
Damage = GONDOR_SOLDIER_SWORD_UPGRADE
DamageScalar = 200% ANY +INFANTRY -HERO ; ;
DamageScalar = 150% ANY +HERO ; ;
Radius = 0.0
DelayTime = 0
DamageType = SLASH
DamageFXType = SWORD_SLASH
DeathType = NORMAL
FlankingBonus = 50%
End
End

Now there are some scalars, namely 200% vs infantry and 150% vs heroes. Divide that number by 100, and do it times the damage it deals when unupgraded/upgraded, and you'll get the damage dealt to that specific unit.

Let's have a look at a more complicated unit now, namely a Guardian (making it not too complex.):

Weapon DwarvenGuardianAxe
LeechRangeWeapon = Yes
AttackRange = STANDARD_MELEE_ATTACK_RANGE
MeleeWeapon = Yes
DelayBetweenShots = DWARVEN_GUARDIAN_AXE_DELAYBETWEENSHOTS ; Bad Things happen if delay between shots is less than Preattack+Firing times. You are ready to fire before you are done firing.
PreAttackDelay = DWARVEN_GUARDIAN_AXE_PREATTACKDELAY ; 400 is sword swing delay time before contact with target.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FireFX = FX_GondorSwordHit
FireFlankFX = FX_Flanking
FiringDuration = DWARVEN_GUARDIAN_AXE_FIRINGDURATION ; Duration of the sword swing

; base damage against everything, siegehammer or forgedblades not present
DamageNugget
Damage = DWARVEN_GUARDIAN_AXE
Radius = 0.0
DelayTime = 0
DamageType = SLASH
DamageFXType = SWORD_SLASH
DeathType = NORMAL
FlankingBonus = 50%
ForbiddenUpgradeNames = Upgrade_DwarvenSiegeHammer
End

Here you can see that it deals slash and doesn't have any scalars.

; forged blade increment, add this damage to everything we attack
DamageNugget
Damage = DWARVEN_GUARDIAN_AXE_UPGRADE_INCREMENT
DamageScalar = 50% NONE +STRUCTURE ; ;
DamageScalar = 200% ANY +INFANTRY -HERO ; ;
DamageScalar = 150% ANY +HERO ; ;
Radius = 0.0
DelayTime = 0
DamageType = SLASH
DeathType = NORMAL
FlankingBonus = 50%
RequiredUpgradeNames = Upgrade_DwarvenForgedBlades
End
End

Here you can see what scalars it has when upgraded, it actually is pretty much useless to upgrade to Forged Blades for better attack vs buildings, cause they will still deal as much damage to buildings as when they're upgraded . However, they deal a lot more damage to enemy infantry and heroes (200% and 150%).

; ;;//------------------------------------------------------------------------------
Weapon DwarvenGuardianSiegeHammer
LeechRangeWeapon = Yes
AttackRange = STANDARD_MELEE_ATTACK_RANGE
MeleeWeapon = Yes
DelayBetweenShots = DWARVEN_GUARDIAN_AXE_DELAYBETWEENSHOTS ; Bad Things happen if delay between shots is less than Preattack+Firing times. You are ready to fire before you are done firing.
PreAttackDelay = DWARVEN_GUARDIAN_AXE_PREATTACKDELAY ; 400 is sword swing delay time before contact with target.
PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
FireFX = FX_GondorSwordHit
FireFlankFX = FX_Flanking
FiringDuration = DWARVEN_GUARDIAN_AXE_FIRINGDURATION ; Duration of the sword swing

; base damage against units, siege hammer present
DamageNugget
Damage = DWARVEN_GUARDIAN_AXE_SIEGEHAMMER_VS_UNIT
Radius = 0.0
DelayTime = 0
DamageType = SLASH
DamageFXType = SWORD_SLASH
DeathType = NORMAL
FlankingBonus = 50%
SpecialObjectFilter = ALL -STRUCTURE
RequiredUpgradeNames = Upgrade_DwarvenSiegeHammer
End

Here you can see what damage type it deals vs units (damage is listed in gamedata.ini), that it doesn't have any scalars and that it doesn't affect structures.

; base damage against structures, siege hammer present
DamageNugget
Damage = DWARVEN_GUARDIAN_AXE_SIEGEHAMMER_VS_STRUCTURE
Radius = 0.0
DelayTime = 0
DamageType = SIEGE ; ;SLASH
DamageFXType = SWORD_SLASH
DeathType = NORMAL
FlankingBonus = 50%
SpecialObjectFilter = NONE +STRUCTURE
RequiredUpgradeNames = Upgrade_DwarvenSiegeHammer
End

Here you can see what damage type it deals vs structures (damage is also listed in gamedata.ini), that it has no scalars and that it only affects structures.

P.S. Most of the time a weapon is split into two parts, it's default name (which usually hardly contains any info, only info that refers back to other ini files, mostly gamedata.ini) and it's warhead (which shows what damage type it deals, scalars, etc.

Unit Specific Files:

The last part, but not the least one, the unit specific files. There are a lot of these files, all in either the category data/ini/object/ and then evilfaction or goodfaction. After that the categories are split up into structures and units, and after that into each faction. So a lorien archer is listed under data/ini/object/goodfaction/units/elven/elvenlorienarcher.ini

In those files, you'll find a whole lot of info. For basic users, most of it is hard to understand and pretty much useless. The parts that are important however are:

Hordes:

Here you can edit the hordes of BFME2, which is really cool for modding. You could make each goblin batt consist of 100 goblins, making you able to swarm the map in seconds. The data for the hordes is located in data/ini/object/ and then goodfaction or evilfaction. After that comes the faction's name, so if you're looking for the goblin hordes file, look for data/ini/object/evilfaction/wildhordes. The things that are to be found here are the hordesizes, the horde speeds, etc. If you want to edit the hordesizes, edit the number behind slots. But there's one other thing you must do, which is quite complicated, you must edit their positions in the horde. So if you're adding 10 more units, you'll have to edit every unit's position. I'll give you an example of how to do this:

Goblin Warrior Horde Positions (normal):

RankInfo = RankNumber:1 UnitType:GoblinFighter Position:X:50 Y:0 Position:X:50 Y:20 Position:X:50 Y:-20 Position:X:50 Y:40 Position:X:50 Y:-40
RankInfo = RankNumber:2 UnitType:GoblinFighter Position:X:30 Y:0 Leader 1 0 Position:X:30 Y:20 Leader 1 1 Position:X:30 Y:-20 Leader 1 2 Position:X:30 Y:40 Leader 1 3 Position:X:30 Y:-40 Leader 1 4
RankInfo = RankNumber:3 UnitType:GoblinFighter Position:X:10 Y:0 Leader 2 0 Position:X:10 Y:20 Leader 2 1 Position:X:10 Y:-20 Leader 2 2 Position:X:10 Y:40 Leader 2 3 Position:X:10 Y:-40 Leader 2 4
RankInfo = RankNumber:3 UnitType:GoblinFighter Position:X:-10 Y:0 Leader 3 0 Position:X:-10 Y:20 Leader 3 1 Position:X:-10 Y:-20 Leader 3 2 Position:X:-10 Y:40 Leader 3 3 Position:X:-10 Y:-40 Leader 3 4

Now if you want to edit this to say 40 goblins, then you'll have to add 4 more rows and 20 more goblin positions divided over those 4 rows, so 5 per row. The easiest way is to just copy what it already says and paste it under it. It's probably the most complicated thing of this guide, but if you can mod it, its awesome cause you can even mod your units so that they're in a standard wedge formation or something.

WeaponSet:

This sets the weapon the unit uses, this always refers to a weapon listed in weapon.ini . If you were to change say a Guardian's weapon to that of a lorien archer, it would suddenly deal pierce damage in the same rate of the normal lorien archer at the same range, which would make it look pretty weird.

ArmorSet:

This sets the armor the unit uses, which also always refers to an armor listed in armor.ini . If you would change a Guardian's armor to that of a Pikemen, it would die much faster vs other swordsmen, but live a whole lot longer vs cavalry tramples and it would almost always be able to beat cavalry, perhaps only if the cavalry can fully trample the batt without slowing down too much.

Vision:

Here you can see the vision of the specific unit, how much it sees is listed in gamedata.ini , but here you can also see how much it can see on its sides, and in the back and other stuff like that. Those kind of things are usualy showed in percentages of the normal vision range.

Crush/Trampling:

This might be a bit hard to understand, but here you can see what a unit can trample (CrusherLevel), what it is (infantry, vehicle, tree) (Crushablelevel), what kind of crush weapon it uses (listed in weapon.ini), how fast he slows down (Crushdecelerationpercent) and how much speed it needs to be able to trample (MinCrushVelocityPercent). Here you can also see what weapon it uses if the unit is trampled (CrushRevengeWeapon)

LocomotorSet (Speed):

Almost the last, here you can see how fast a unit is. Most of the time a unit has a standard speed which is listed in gamedata.ini, but sometimes it can have it's own specific speed, like say a Demolisher. There are different Locomotor's, one is for the horde (which is the speed you see in the guides), one is for each individual member (usually 5 more, to be able to catch up if they lagged behind) and one for how fast it runs when on fire.

Abilities:

In each unit specific ini file there might be a part about an ability, depending if it has any. Usually the basic things are listed, like radius, healing amount, etc. If it's a buff, it nearly always refers to attributemodifier.ini so copy the name of the buff and use Ctrl + F to find it in attributemodifier.ini. If you're searching for it's reload, then it's almost always in specialpowers.ini, so do the same thing and use the search function. If it's a weapon, it's listed in weapon.ini logically.

Thanks for taking an interest in my guide and for taking the time to read it.

P.S. If you guys see anything missing or anything incorrect, just post here and I'll look into it.

This post has been edited by -Thorin: Sep 30 2008, 19:41 PM

Posts: 8,009

Clan: Corruption of Light

Game: Rise of the Witchking 2.01


+
# 2Catspaw Oct 30 2006, 19:43 PM
Thankyou very much.
You are a good fella even if you do like dwarves smile.gif
I have been looking for just this banana.gif

Posts: 1,454

Game: Red Alert 3


+
# 3neGotiate. Oct 30 2006, 19:48 PM
bowdown.gif

Posts: 9,364

Clan: Prisoners Of War

Game: StarCraft 2


+
# 4War Eagle Oct 30 2006, 20:00 PM
Thanks although I'm still not smart enough to use it.

This post has been edited by War Eagle: Oct 30 2006, 20:00 PM

Posts: 13,753

Game: Call Of Duty: Black Ops


+
# 5Drizzt Do'Urden Oct 30 2006, 20:02 PM
QUOTE(Negotiate @ Oct 30 2006, 10:48 PM) *

bowdown.gif


Spammer. Gave u a post... sleep.gif





















j/k tongue.gif

Posts: 9,622

Clan: Unr3al

Game: Battle for Middle Earth 2


+
# 6Feline Oct 30 2006, 20:31 PM
nice work thorin, flaming confusing, but nice biggrin.gif

Posts: 5,394

Game: Battle for Middle Earth 2 1.06


+
# 7Aberrance` Oct 30 2006, 21:26 PM
Dedication thy name is Thorin.








oh and bowdown.gif bowdown.gif bowdown.gif

Posts: 6,972

Game: Battle for Middle Earth 2


+
# 8Kbalz Oct 31 2006, 01:53 AM
Looks really really cool !! But something I long for, experience information. I see there are some definitions for expirience reward, but it doesn't define these values for everything.. Where can I get or how can I create a full expirence reward sheet? I'd like Heros (at all levels), buildings, units, creeps etc.. If upgrades affect exp given etc. I can build a spread sheet for it, but I can't find the raw data! Please help thx

Posts: 417


+
# 9Thorin Oct 31 2006, 07:47 AM
QUOTE(Kbalz @ Oct 31 2006, 02:53 AM) *

Looks really really cool !! But something I long for, experience information. I see there are some definitions for expirience reward, but it doesn't define these values for everything.. Where can I get or how can I create a full expirence reward sheet? I'd like Heros (at all levels), buildings, units, creeps etc.. If upgrades affect exp given etc. I can build a spread sheet for it, but I can't find the raw data! Please help thx


All that is in experience.ini ,but I haven't studied that one myself yet post-13661-1143531603.gif

Posts: 8,009

Clan: Corruption of Light

Game: Rise of the Witchking 2.01


+
# 10Kbalz Oct 31 2006, 12:17 PM
QUOTE(Thorin^ @ Oct 31 2006, 02:47 AM) *

All that is in experience.ini ,but I haven't studied that one myself yet post-13661-1143531603.gif

Correct, but where physically on the computer can I read experience.ini -- I've searched every file on my computer, and every section inside the other ini files and can not find it. I will study it, if you can show me it!! Thanks!

Posts: 417


+
# 11Gansnudel Oct 31 2006, 14:40 PM
It´s in ini.big, like almost all files that govern how the game works. Open it with the program finalbig.

Excellent guide Thorin. I skimmed over it and you seem to have addressed all the important parts.

Just one suggestion: You could mention the various hordes.ini for the factions. Those files are pretty important, because they hold the info of most of the standard buildable units.

Posts: 557

Game: Battle for Middle Earth 2 1.06


+
# 12Thorin Oct 31 2006, 15:52 PM
QUOTE(Gansnudel @ Oct 31 2006, 03:40 PM) *

It´s in ini.big, like almost all files that govern how the game works. Open it with the program finalbig.

Excellent guide Thorin. I skimmed over it and you seem to have addressed all the important parts.

Just one suggestion: You could mention the various hordes.ini for the factions. Those files are pretty important, because they hold the info of most of the standard buildable units.


Thanks Gans wub.gif , I'll mention the hordes.ini , I like those, you can make orc hordes consist of 100 orcs happy.gif (instant horde bonus tongue.gif )

Posts: 8,009

Clan: Corruption of Light

Game: Rise of the Witchking 2.01


+
# 13Khe Oct 31 2006, 23:54 PM
You should include the playertemplates.ini so that modders can add new heroes to their factions or the starting units! (but they have to properly modify the commandset for the fortress and the commandbutton things)

You also need the upgrade.ini to create new upgrades (and to give them through leveling you need to put them into experiencelevels.ini too)

Posts: 911

Game: Battle for Middle Earth


+
# 14Thorin Nov 1 2006, 06:25 AM
QUOTE(Khe @ Nov 1 2006, 12:54 AM) *

You should include the playertemplates.ini so that modders can add new heroes to their factions or the starting units! (but they have to properly modify the commandset for the fortress and the commandbutton things)

You also need the upgrade.ini to create new upgrades (and to give them through leveling you need to put them into experiencelevels.ini too)


I'm not very familiar with those and this is more like a basic .ini guide, but I'll look into them when I'm writing the next (will take a while though, need a lot more experience first smile.gif )

Posts: 8,009

Clan: Corruption of Light

Game: Rise of the Witchking 2.01


+
# 15Sync Nov 1 2006, 15:50 PM
Wow! That's so awesome, very helpful and organized- Excellent Job Thorin! w00t.gif banana.gif wub.gif

Posts: 9,009

Game: Dota 2


+
# 16Catspaw Nov 2 2006, 05:35 AM
OK so i downloaded the final bif etc; however when I open ini.big, I get the list in the small window on the left, the bigger window on the right (where all the numbers should be) remains blank sad.gif

Am I missing something?

Posts: 1,454

Game: Red Alert 3


+
# 17Kbalz Nov 2 2006, 05:43 AM
QUOTE(Gansnudel @ Oct 31 2006, 09:40 AM) *

It´s in ini.big, like almost all files that govern how the game works. Open it with the program finalbig.

Correct!! You've lead me to the gold mine. I'll compile a spread sheet while I dick around at work of what units give what XP rewards.. I (and others) will find this usefull due to the difficulty on getting heros leveled up to 10.. When I compile the list, you will know what to send your hero after for the best EXP bonus - and therefore leading them to higher levels faster.

Posts: 417


+
# 18Thorin Nov 2 2006, 12:20 PM
QUOTE(Catspaw @ Nov 2 2006, 06:35 AM) *

OK so i downloaded the final bif etc; however when I open ini.big, I get the list in the small window on the left, the bigger window on the right (where all the numbers should be) remains blank sad.gif

Am I missing something?


You have to click one of the files on the left in order to get all the numbers on the right wink.gif

Posts: 8,009

Clan: Corruption of Light

Game: Rise of the Witchking 2.01


+
# 19Catspaw Nov 2 2006, 18:57 PM
QUOTE(Thorin^ @ Nov 2 2006, 04:20 AM) *

You have to click one of the files on the left in order to get all the numbers on the right wink.gif


Well Duh huh? blush.gif
Thanks

Posts: 1,454

Game: Red Alert 3


+
# 20.Titch Nov 3 2006, 00:02 AM
bowdown.gif

Posts: 5,143

Game: Battle for Middle Earth


+

1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)