![](/uploads/1/2/5/8/125842316/990493345.jpg)
- 4Modding Information
- 9Soldier/NPC UNIT Balance Mods
- 12Constants
- 13Strategy Game Constants
- 14BASE Balance Factors
- 18PANIC Base Values
- 21ITEM Base Balance Costs
- 27Recent Discoveries
Overview
This description of the DefaultGameCore.ini (DGC.INI) file is directly based on the Compiled list of DefaultGameCore.ini settings and their functions thread in the Nexus XCOM Mod Talk forum. All credits to him for the first version of this page which essentially kicked off the beginning of the organized modding process for XCOM:EU 2012.
The DGC.INI file is found in the <Steam install path>XComGameConfig folder. This is known as the 'loose' file. There is also a copy embedded ('cooked') into the game executable file XComGame.EXE, which is part of what is called the resource cache. By default the game only uses certain settings from the loose file, and most mods must alter the embedded version. It has now been discovered how to force the game to use the entirety of the DGC.INI instead of the resource cache copy. (See the Recent Discoveries section.)
Many commonly sought tweaks to the game people have requested help with are made to the DGC.INI file, and now are documented in the article How to DIY common mod solutions - XCOM:EU 2012. That article and this should be your first stops when looking to make any change you think should be 'simple or easy'.
Current Trainers: Xcom Enemy Unknown V1.0.0.4963 Trainer +9 Xcom Enemy Unknown V1.0.0.4963 Trainer +9 B // Fixed resources cheats Options: Inf.Health. Is this trainer works with enemy within???? Txutxo Member. Joined Oct 6, 2014 Messages 11 Reaction score 0. Dec 16, 2014 #16 thanks. Fujiroko Donor. Joined May 25.
Programs and Tools
Any plaintext editor (like Notepad, but not Write) is sufficient. Other tools mentioned in Modding Tools - XCOM:EU 2012 may be useful but are not required.
XCOM Config (INI) files
(From the Nexus Mod Talk Forum minmax money rewards don't seem to work (XComGameData.ini) thread.)
Most games since the release of Windows Vista write stuff into My Games because the game folder itself is often in Program Files which the Windows OS now makes inaccessible to alteration for security reasons.
XComGameCore.ini resides in the My GamesXCOM Enemy (Unknown/Within)XComGameConfig folder. It is a mirror copy of the DefaultGameCore.ini file found in the game config folder: <Steam install path>XCOM - Enemy Unknown[XEW]XComGameConfig. (Note that EW files are located under the XEW folder that is added to the XCOM - Enemy Unknown folder when that expansion is added.) Making changes to XComGameCore.ini won't work because the original DefaultGameCore.ini file would overwrite it at game launch.
The DefaultGameData.ini file similarly should be getting mirrored into the XComGameData.ini file in the My Games folder.
In EU these copies were made to support the addition of downloadable content (DLC). The config files in My Games were merged versions of the base game + DLC. So far there's no DLC for Enemy Within, but as prolific as the map team was for the expansion it wouldn't surprise me to see DLC packs of new maps.
EW added DefaultContent.ini to the path XCom-Enemy-UnknownXEWXComGameConfig to contain elements of new units such as the UnitPackageInfo for MEC units, i.e. UnitPackageInfo=(PawnType=ePawnType_MecMark3,ArchetypeName='Unit_MecMark3.ARC_Unit_MecMark3'), and the decorative armor data, i.e. ArmorKitPackageInfo=(KitType=eKit_Deco_GeneMod1,ArchetypeName='Deco_Titan0.ARC_Deco_Titan0'). (See the Nexus Forums thread Unlock All Decorative Armors for all Armors for more details.)
The core game's map set is in DefaultMaps.ini, which corresponds to the XComMap.ini file in My Games as well.
In Enemy Within's DefaultMaps.ini file most of the new maps are prefaced with the comment:
![Xcom Enemy Within Save Editor Pc Xcom Enemy Within Save Editor Pc](/uploads/1/2/5/8/125842316/532485933.jpg)
The two config files DefaultGameData.ini and DefaultGameCore.ini (at least originally) corresponded to two different classes in XComGame.upk.
- XGTacticalGameCore (and it's parent class XGTacticalGameCoreNativeBase)
- XGGameData
This is why the first tag you see in DefaultGameCore.ini is [XComGame.XGTacticalGameCore], and the first tag you see in DefaultGameData.ini is [XComGame.XGGameData].
These tags identify which UPK/class' config variables are being set in the following section.
Later these INI files were expanded to read in config variables for other classes. For example DefaultGameCore.ini has the following tags:
- [XComGame.XGTacticalGameCore]
- [XComGame.XComPrecomputedPath]
- [XComGame.XGAction_FireCustom_Flamethrower]
- [XComGame.XGAction_FireCustom_Barrage]
- [XComGame.XGAbility_Electropulse]
- [XComGame.XGAbility_Electropulse]
- [XComGame.XGUnitNativeBase]
- [XComGame.XComPerkManager]
If you open these classes in UE Explorer you'll see that the variables in the INI file are config-type class variables in the class.
For example XComPerkManager function has the following class variables:
The variables of type config are precisely the variables being defined in the DefaultGameCore.ini.
DefaultGameData.ini works similarly but defines config variables for a different set of classes:
- [XComGame.XGGameData]
- [XComStrategyGame.XComDropshipAudioMgr]
- [XComStrategyGame.UITellMeMore]
- [XComStrategyGame.XGExaltSimulation]
- [XComGame.XComMeldContainerActor]
- [XComGame.XGBattle_SPCovertOpsExtraction]
- [XComGame.XGBattle_SPCaptureAndHold]
- [XComStrategyGame.XGFacility_CyberneticsLab]
- [XComStrategyGame.XGFundingCouncil]
- [XComStrategyGame.XGFacility_Barracks]
- [XComStrategyGame.XGStrategyActorNativeBase]
I don't know how the config parser knows which config file to examine for a class's config variable data, nor the order in which they are read.
Next -- the relationship between the XEWXComGameConfig files and the My GamesXCom - Enemy WithinXComGameConfig files.
The files in the root XCom folder (sub-folder XEW for EW) are the 'master' copies. These files all begin with 'Default' (e.g. DefaultGameCore.ini, DefaultGameData.ini).
Whenever the game is launched, near the very beginning of execution it performs merge operations, creating copies of the config files in the My Games...Config folder. These files all being with 'XCom' (e.g. XComGameCore.ini, XComGameData.ini, etc.).
For the present state of Enemy Within these are simply copies (but with all comments stripped out).
However, once DLC for Enemy Within are released, these My Games versions are expected to be merged versions of the base game + DLC config files, as when DLCs were released for EU.
These files are reconstructed (or are supposed to be) every time the game launches so altering the versions in My Games' should be fruitless.
In EU there was a bug with some of the localization files in which the My Games merged version wasn't being properly overwritten.
There was also a bug in EU in which the XComEngine.ini config file was being improperly merged causing the file to load an additional copy of some DLC art assets every time the game was launched. This would lead to very long 'dropship loading screen' times.
Modding Information
The information presented here does apply to making hex code changes in the executable's internal resource cache to produce the equivalent change.
Also, bear in mind that loose files are loaded and read AFTER the game executable is launched. This means they can override mod changes made to the internal resource cache of the EXE by hex-editing or tools like ResourceHacker. Choose your method of applying specific mods accordingly.
Changes made to the DGC.INI file may not be applied as you might expect. As pointed out by the Long War mod lead programmer in this post:
In all cases you can change a value and then load a previous save-game, but the change may not be present, may be effective in limited ways, or may be completely effective.
For example, changing the Character= line for an XCOM soldier will not affect the stats of any soldiers already recruited, but will affect any soldiers recruited after the INI change (including reward soldiers).
Changing the Character= line for an alien won't affect any aliens in a save-game saved in a tactical mission, but will change any aliens in later tactical missions.
Changing an ItemBalance= line will update the item value in the strategy game the next time it is loaded.
The primary issue is that some items are read once when a new campaign is started and the values are then stored in the save-game file. Most items, however, are read 'on the fly' from the INI file as needed.
INI file applicability
At present it appears only the BALANCE Modes (i.e. BalanceMods_Easy, etc.) values override the values embedded within the compiled XComGame.exe file. Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:
BALANCE Mode | Game DIFFICULTY |
EASY | Tutorial |
NORMAL | Normal |
HARD | Classic |
CLASSIC | Impossible |
Sections where you find the description '(BALANCE Mode dependent.)' have such settings. Where such BALANCE Mode setting labels appear identical but are presented 4 times, they are listed in order from EASY/Tutorial to CLASSIC/Impossible, sometimes with comments appended like so:
- ; EASY/Tutorial
- ; NORMAL/Normal
- ; HARD/Classic
- ; CLASSIC/Impossible
Mutual Interoperability
Obscure Property effects
Basic which provides a 10 Defense bonus when used, does not require cover. (Perhaps other effects as well but unknown to me)eAbility_TakeCover = Gives the ability 'Hunker Down' which doubles the Cover Bonus and provides immunity to critical hits, reduces sight radius. eAbility_MindMerge = GIVES SECTOIDS THE 'MIND MERGE' ABILITY UNIT BUFF, APPEARS TO DO NOTHING FOR PLAYER CONTROLLED UNITS (NEED MORE INFO) eAbility_Launch = GIVES FLOATERS THE ABILITY TO JUMP TO A DISTANT COVER POINT, APPEARS TO DO NOTHING FOR PLAYER CONTROLLED UNITS, BREAKS GROUND MOVEMENT; REQUIRES FLIGHT TO MOVE (NEED MORE INFO) eAbility_Intimidate = GIVES MUTONS THE ON HIT REACTION ABILITY WHICH CAUSES PANIC IN NEARBY PLAYER CONTROLLED UNITS, APPEARS TO DO NOTHING FOR PLAYER CONTROLLED UNITS (NEED MORE INFO) eAbility_BloodCall = GIVES MUTONS THE 'BLOOD CALL' ABILITY WHICH GIVES A WILL, AIM, AND MOBILITY BUFF TO THE UNIT THAT USES IT AS WELL AS OTHER NEARBY MUTON UNITS. APPEARS TO DO NOTHING FOR PLAYER CONTROLLED UNITS (REQUIRES MUTON FLAG, NEED MORE INFO) eAbility_CloseCyberdisc = GIVES CYBERDISCS THE ABILITY TO 'CLOSE' AFTER TAKING AN ACTION OTHER THAN MOVEMENT, or when taking damage. APPEARS TO DO NOTHING FOR PLAYER CONTROLLED UNITS(NEED MORE INFO) eAbility_PsiControl = Gives Sectoid Commanders and Ethereals the Psi Control ability that work similarly to Mind Control usable the player soldiers.(Note:This skill can be added to player soldiers using armor mod, seems to not work correctly tough. Test: In my test the ability appear only After the soldier turn is over and can't make any more action, the ability disappear as soon as the soldier turn is restored only to reappear when finished once more making the ability unusable. Need more test on different environment to confirm) eAbility_MindFray = Standard Mindfray ability given to all first level psionic soldiers, accuracy is based on user/victim willpower scores. If successful, it reduces target attributes (accuracy, mobility, willpower) and deals 5 points of damage, Ethereals and Sectoid Commanders also have this skill (Note: the ability can be added to normal soldiers skill bar using an armor mod) eAbility_GreaterMindMerge = GIVES THE 'GREATER MIND MERGE' ABILITY TO SECTOID COMMANDERS. APPEARS TO DO NOTHING FOR PLAYER CONTROLLED UNITS (NEED MORE INFO) eAbility_PsiPanic = Give the Psi Panic ability to Sectoid Commanders, shared ability with player psionic soldier. This skill forces the target to make an unspecified 'Will Check'; if they fail this check, they panic. Panicking units become unresponsive to orders and may attack nearby allies or enemies (Note: This ability can be added to any soldier using the armor mod) eAbility_Rift = Ability possessed by Ethereals, but rarely (if ever) used by the AI. Rift is also gained by the Volunteer just before game final assault. This psionic skill generates a wide and flat area effect that lasts for a few turns and damages every unit as soon as the field is created, and any unit that lingers within the field takes further damage; the damage depends on the victim's Will (Note: this skill is gained legitimately by one soldier just before game conclusion, it's possible to mod the extremely high exp value needed for making this ability allowed to any gifted soldier, with such mod the ability simply appear on the user skill bar without prompting for a level up. Warning: It's untested if the final level script check for volunteer using this skill as a tracker, if so problem may arise when facing the last map, untested yet) eAbility_PsiDrain = Ability normally possessed by Ethereals, permit the user to drain the health of an ally or mindlinked (i.e. mindcontrolled) unit to restore their own, works if added to the player(Note: the ability can be activated only if the user health is not at it's maximum value) eAbility_BullRush = Ability possessed by Muton Berserker; allows them to charge through cover and obstacles (including walls), then damage units near the end of the charge (Note: ability tested with Mind Control only, untested with player soldiers) eAbility_Bloodlust = Muton Berserker's Bloodlust 'ability'; gives a free ~5 tile move towards whoever last shot it, or its previous target if its current attacker is out of LoS or somewhere it can't reach, even if it isn't the Berserker's turn yet. eAbility_ShotOverload = (NEED MORE INFO) Appear on Items- eAbility_ShotStandard = Allows normal attack actions
- eAbility_Overwatch = Allows the use of overwatch command
- eAbility_ShotStun = Allows the use of the 'Stun' command, appears to only work on the Arc Thrower (Has 0 uses on other items)
- eAbility_ShotSuppress = Allows the use of the 'Suppress' command
- eAbility_FragGrenade = Allows the use of the 'Frag Grenade' command. (NEED MORE INFO)
- eAbility_SmokeGrenade = Allows the use of the 'Smoke Grenade' commmand. SUPPORT ABILITY (NEED MORE INFO)
- eAbility_BattleScanner = Allows the use of the 'Scanning Drone' command. SNIPER ABILITY (NEED MORE INFO)
- eAbility_AlienGrenade = Allows the use of the 'Plasma Grenade' command. (NEED MORE INFO)
- eAbility_ShredderRocket = Allows the use of the 'Shredder Rocket' command. HEAVY ABILITY (NEED MORE INFO)
- eAbility_RocketLauncher = Allows the use of the 'Rocket Launcher' command. HEAVY ABILITY (NEED MORE INFO)
- eAbility_MedikitHeal = Allows the use of the 'Medkit' command, appears to only work on the Medkit (Has 0 uses on other items)
- eAbility_Plague = The Thin Man's 'Poison Spit' ability. Appears to be a secondary/backpack based item, rather than a true unit ability like psi attacks. (NEED MORE INFO)
- eAbility_CombatStim = Adds the Combat Stim effect to the SUPPORT Smoke Grenade. (NEED MORE INFO)
- eAbility_Grapple = Adds the 'Grapple' command, allows units to move to higher terrain. (Duplicated as a property, need to check functionality of each)
- eAbility_Repair = Adds the 'Repair' command allowing units to repair mechanical units (SHIVS/DRONES).
- eAbility_DeathBlossom = Adds the 'Death Blossom' attack to Cyberdiscs. (NEED MORE INFO)
- eAbility_CannonFire = Adds the 'Cannon Fire' attack to the Sectopod. (NEED MORE INFO)
- eAbility_DestroyTerrain = Adds the 'Destroy Terrain' attack to the Sectopod. (NEED MORE INFO)
- eAbility_ClusterBomb = Adds the 'Cluster Bomb' attack to the Sectopod. (NEED MORE INFO)
- eAbility_PsiLance = Ability possessed by Ethereals, charge and launch a purple sphere at the target causing damage depending on target will(Note: This skill can be added to player soldier by armor mod, work somewhat curiously, seems soldier shot with it's own weapon as well very evident when this skill is used by a sniper, speculatively speaking it may simply trigger an invisible weapon used by Ethereals in the primary weapon slot. With this skill the chance to hit by a soldier become 100% on all the test i have done, if used by sniper with Double Tap skill allow for a second shot using normal weapon. This skill has no cooldown apparently)
Properties
Properties can be added to Armors, Weapons, Equipment, and Characters(UNITS) and have effects similar to abilities. Sometimes in order for an ability to function, the property must also be present. This is a complete list of the Properties in the game with a brief description about what each does. The following sections that pertain to each item type will have a list of properties that are known to work or be interchangeable.Appear on Armor- eAP_Grapple = Adds the 'Grapple' command, allows units to move to higher terrain. (Duplicated as an Ability, need to check functionality of each)
- eAP_DualWield = (NEED MORE INFO - probably obsolete/disabled code)
- eAP_PoisonImmunity = Grants immunity to poison effects, used by Titan suit. (NEED MORE INFO)
- eAP_BackpackLimited = (NEED MORE INFO - probably obsolete/disabled code)
- eAP_AirEvade = Grants half-cover bonus when flying, used by Archangel suit. (NEED MORE INFO)
- eAP_Psi = Only appears on Psi Suit, likely related to the special +10 Will bonus it grants when using offensive psi powers. (NEED MORE INFO)
- Similar to eWP_Assault, eWP_Heavy, and eWP_Support; Adds the 'Psi' class restriction to an armor, allowing the Psi class (bHasPsiGift=True) to equip it.
- eAP_Tank = Only appears on SHIV plating. (NEED MORE INFO)
Appear on Characters- eCP_CanGainXP = Allows for the accumulation of XP, appears to only effect soldier units
- eCP_Robotic = Gives unit the 'Robot' trait. Immune to PSI abilities, can't be healed using medkit, requires repair, takes more damage from extra damage to robot abilities.
- eCP_Hardened = Used by Sectopods, Chryssalids, and Berzerkers; grants the 'Hardened' trait, which reduces the chance of scoring critical hits on them, apparently 40%.
- eCP_Flight = Appears to duplicate the FLY ability, not sure on how it functions differently. (NEED MORE INFO)
- eCP_AirEvade = Grants half-cover bonus to flying units, such as Floaters and Cyberdisks, when they are fully airborne or in the open.(NEED MORE INFO)
- eCP_Climb = Appears to give ThinMen and Chryssalids the ability to move to higher terrain without the need to activate an ability. (NEED MORE INFO)
- eCP_PoisonImmunity = Grants immunity to poison effects. Used by Thin Men and Chryssalids.
- eCP_DeathExplosion = Causes Cyberdiscs and Sectopods to explode upon death. (NEED MORE INFO)
- eCP_MeleeOnly = Used by Chryssalids, Zombies, and Berzerkers, presumably so their AI knows that it should actively close to melee range rather than try to make ranged attacks or behave like other enemies (using cover, etc.). (NEED MORE INFO)
- eCP_Poisonous = Attacks inflict the 'Poisoned' status. (NEED MORE INFO)
Appear on Weapons- eWP_Pistol = Items can be placed in the 'Sidearm' slot on the loadout screen, counts as a pistol for equipment restrictions and recieves pistol weapon upgrades from Armory upgrades.
- eWP_UnlimitedAmmo = Item does not need to be reloaded, Ammo does not deplete. (typically on pistols)
- eWP_Rifle = Items can be placed in the 'Primary' weapon slot on the loadout screen, counts as a rifle for equipment restrictions.
- eWP_Assault = Adds the 'Assault' class restriction to an item, allowing the Assault class to equip it.
- eWP_Heavy = Adds the 'Heavy' class restriction to an item, allowing the Heavy class to equip it. This also reduces the ammo capacity of the weapon to three shots (as per the LMG and other Heavy exclusive weapons).
- eWP_Support = Adds the 'Support' class restriction to an item, allows the Support class to equip it.
- eWP_Sniper = Adds the short range accuracy penalty normally associated to the sniper rifles. Does not allow the Sniper class to equip (use eWP_AnyClass).
- eWP_MoveLimited = Adds the 'Cannot move and fire' trait to a weapon, preventing it from being used to attack after moving.
- eWP_NoReload = Adds the 'Cannot be relaoded' trait to a weapon, preventing if from being relaoded.
- eWP_CantReact = Adds the 'Cannot perform reaction attacks' to a weapon, preventing it from being used for Overwatch.
- eWP_Secondary = ??UNKNOWN?? PERHAPS ALLOWS USE OF THIS ITEMS EFFECT WITHOUT NEEDING TO SWITCH TO IT. (NEED MORE INFO)
- eWP_Backpack = Item can be placed/will use a Backpack slot on the loadout screen.
- eWP_AnyClass = Any class can use this item, removes class restrictions. (NOTE THAT THIS DOESN'T ALWAYS APPLY TO THE HEAVY CLASS - THIS IS LIKELY A BUG IN THE ORIGINAL PROGRAM - AND YOU MAY NEED TO ADD THE HEAVY CLASS TAG AS WELL AS THIS TAG FOR A HEAVY TO USE THE ITEM; SEE ABOVE)
- eWP_Explosive = Counts as an ??explosive?? (NEED TO TEST THIS EFFECT ON OTHER ITEMS)
- eWP_Integrated = Appears on SHIV weapons and various alien weapons (cyberdisk weapon, sectopod cannons, chryssalid claws, etc.), possibly prevents changing loadout/item capture/dropping. (NEED MORE INFO)
- eWP_Melee = Adds the 'Melee' trait to a weapon making its attacks melee only. (NEED MORE INFO)
Armor
Armor entries are just what they seem to be, they are the item that your character wears in the Armor slot. At this time there does not appear to be a way to add additional armors to the game, however you can modify the existing armors to add various effects. I am going to list the effects that I know from personal experience can be changed at this time. Again, additional feedback is requested.Armors use the following format Which can be broken down into THREE distinct segments; Abilities, Properties, and Stats:Armors=(ABILITIES[0]=eAbility_NONE,ABILITIES[1]=eAbility_NONE,ABILITIES[2]=eAbility_NONE,ABILITIES[3]=eAbility_NONE,Properties[0]=eAP_None,Properties[1]=eAP_None,Properties[2]=eAP_None,Properties[3]=eAP_None,iType=eItem_ArmorKevlar,iHPBonus=1,iDefenseBonus=0,iFlightFuel=0,iWillBonus=0,iLargeItems=1,iSmallItems=1,iMobilityBonus=0)
The first segment is Abilities and appears be limited to a maximum of THREE abilities, I have not tested adding more than THREE abilities at this time and it may be possible to add more. Abilities that are known to be interchangable are:- Fly - Gives the flight command, requires the iFlightFuel=XX stat to have a number greater than 0 to activate, uses fuel on each turn.
- Ghost - Gives the ghost command making your unit invisible until the next turn or they attack, grants 4 uses. There doesn't appear to be a way to increase use count at this time.
RESERVED FOR FUTURE ADDITIONSThe Second segment is Properties and appears be limited to a maximum of THREE properties however I have not tested adding more than THREE properties at this time and it may be possible to add more. Properties that are know to be interchangable are:- Grapple - Gives the ability to use the grapple command to move to higher terrain.
RESERVED FOR FUTURE ADDITIONSThe Third Segment is Stats which grant flat bonus's to units that have the item equipped are are relatively self explanatory. Here is a breakdown of each of the stats:- iType = This is the ITEM REFERENCE for the game, DO NOT CHANGE THIS AS THIS IS HOW THE GAME IDENTIFIES WHICH ARMOR IS WHICH.
- iHPBonus = This is the amount bonus HP that the armor grants to the unit. Can be a POSITIVE/NEGATIVE number for Bonus/Penalty.
- iDefenseBonus = This is the amount of bonus Defense the armor grants to the unit. Can be a POSITIVE/NEGATIVE number for Bonus/Penalty. For reference, partial/full cover grant 20/40 defense.
- iFlightFuel = This is the amount of 'Fuel' the armor has to maintain flight and is required if you intend to use the Fly ability. One fuel per round of flight.
- iWillBonus = This is the amount of bonus WILL that the armor grants to the units. Can be a POSITIVE/NEGATIVE number for Bonus/Penalty.
- iLargeItems = This is the number of 'Large' item slots the armor has. (I HAVE NOT TESTED THIS SETTING)
- iSmallItems = This is the number os 'Small' item slots the armor has. Increasing this number adds addtional backpack slots, however it seems that making it THREE or greater breaks the ability to add items to the backpack during loadout.
- iMobilityBonus = This is the amount of bonus MOBILITY points that the armor grants, allowing the unit to move further in combat. Can be a POSITIVE/NEGATIVE number for Bonus/Penalty.
Characters
Characters are the UNITS that engage in battle during tactical missions, and have a variety of abilities and properties. I have not extensively tested adding or removing abilities to characters so I dont have a list of what can and can not be done to these yet, however I will break down what I DO know about them. In the case of player Soldiers this information is pulled for the initial soldiers you are given at the start of the game, and then modified with the difficulty setting bonus/penalties. However any additional soldiers you recruit appear to pull from a different set of references. This could be, and probably is, a bug in the main game code that may be fixed in a future patch.Characters use the following format which can be broken down into FOUR distinct segments; Stats, Abilities, Properties, and 'Functions' (for lack of a better word coming to mind at the moment)Characters=(iType=eChar_None,HP=1,Offense=0,Defense=0,Mobility=12,SightRadius=27,Will=0,Psionics=20,CritHitChance=0,CritWoundChance=0,FlightFuel=0,Reaction=0,ABILITIES[0]=eAbility_NONE,ABILITIES[1]=eAbility_NONE,ABILITIES[2]=eAbility_NONE,ABILITIES[3]=eAbility_NONE,ABILITIES[4]=eAbility_NONE,ABILITIES[5]=eAbility_NONE,ABILITIES[6]=eAbility_NONE,ABILITIES[7]=eAbility_NONE,Properties[0]=eCP_None,Properties[1]=eCP_None,Properties[2]=eCP_None,Properties[3]=eCP_None,Properties[4]=eCP_None,Properties[5]=eCP_None,bCanUse_eTraversal_Normal=False,bCanUse_eTraversal_ClimbOver=False,bCanUse_eTraversal_ClimbOnto=False,bCanUse_eTraversal_ClimbLadder=False,bCanUse_eTraversal_DropDown=False,bCanUse_eTraversal_Grapple=False,bCanUse_eTraversal_Landing=False,bCanUse_eTraversal_BreakWindow=False,bCanUse_eTraversal_KickDoor=False,bCanUse_eTraversal_JumpUp=False,bCanUse_eTraversal_WallClimb=False,bCanUse_eTraversal_BreakWall=False,eClass=eSC_None,bHasPsiGift=False)
Addendum: The player soldier seems to be the (Characters=(iType=eChar_Soldier) section, not character. All the new recruits and the soldier at the base DO NOT seem to use this statistic, check for the rookie section below.Note: All Modification done to Soldiers IS NOT RETROACTIVELY APPLIED TO SOLDIER ALREADY PRESENT AT THE BASE OR ON MISSION, because the soldier's (already present at the base) statistics ARE WITHIN THE SAVE FILE.
The first segment is BASE stats that the character will have before any bonuses or penalties are applied. In the case of player Soldiers these stats are pulled for the initial soldiers you are given at the start of the game, and then modified with the difficulty setting bonus/penalties. However any additional soldiers you recruit appear to pull from a different set of stats altogether. This could be, and probably is, a bug in the main game code that may be fixed in a future patch.- iType = This the CHARACTER REFERENCE for the game, DO NOT CHANGE THIS AS THIS IS HOW THE GAME IDENTIFIES WHICH CHARACTER IS WHICH.
- HP = This is the BASE HP
- Offense = The BASE AIM of the unit
- Defense = The BASE DEFENSE
- Mobility = This is the BASE MOBILITY
- SightRadius = This is the number of tiles the unit can see around it, increase/decrease to see further/shorter distances. (NOTE, SETTING THIS HIGHER THAN 27 APPEARS TO CAUSE THE GAME TO CRASH ON MISSION LOADS)
- Will = The BASE Will of the unit, increase/decrease to panic less/more often. Also effects chance to be PSIONIC when testing.
- Psionics = NO IDEA HOW THIS STAT EFFECTS ANYTHING (NEED MORE INFO)
- CritHitChance = BASE chance to inflict a critical hit.
- CritWoundChance = NO IDEA HOW THIS STAT EFFECTS ANYTHING (NEED MORE INFO)
- FlightFuel = This is the amount of 'Fuel' a character has to maintain flight, required to use the FLY ability.
- Reaction = NO IDEA HOW THIS STAT EFFECTS ANYTHING, I BELIEVE ITS A LEGACY SETTING FROM WHEN THE GAME HAD A PERCENT CHANGE TO REACT RATHER THAN USING OVERWATCH (NEED MORE INFO)
The second segment is Abilities and appears to be limited to a maximum of SEVEN Abilities however I have not tested adding more than SEVEN so it may be possible to do so. I had intended to included a list of abilities that I know can be swapped around however as I wrote before I have not tested swapping enough to be certain of many of them. Here are the few I did test:- CivilianCover = Gives the ability 'Head Down' which provides a 10 Defense bonus when used, does not require cover. (Perhaps other effects as well but unknown to me)
- TakeCover = Gives the ability 'Hunker Down' which doubles the Cover Bonus and provides immunity to critical hits, reduces sight radius.
RESERVED FOR FUTURE ADDITIONSThe Third segment is Properties and appears to be limited to a maximum of FIVE Properties however I have not tested adding more than FIVE so it may be possible to do so. I had intended to included a list of Properties that I know can be swapped around however as I wrote before I have not tested swapping enough to be certain of many of them. Here are the few I did test:RESERVED FOR FUTURE ADDITIONSThe Fourth segment, which I have termed 'Functions' is made up of how the character is able to traverse the battlefield and effect its environemnt, made up by a series of TRUE/FALSE statements. These should be more or less self explanatory, but here are the details as I see them:- bCanUse_eTraversal_Normal=TRUE/False = Can move across normal terrain
- bCanUse_eTraversal_ClimbOver=TRUE/False = Can 'Vault' over objects like railings, fences, gravestones, etc.
- bCanUse_eTraversal_ClimbOnto=TRUE/False = Can climb onto terrain that has standable spots and does not require a major height change. (for example, ground to 'Porch')
- bCanUse_eTraversal_ClimbLadder=TRUE/False = Can use ladders to change levels
- bCanUse_eTraversal_DropDown=TRUE/False = Can drop from a higher level to a lower level without the use of a ladder/stairs
- bCanUse_eTraversal_Grapple=TRUE/False = Can move to a higher level from a lower level without the use of a ladder/staris
- bCanUse_eTraversal_Landing=TRUE/False = NO IDEA, PERHAPS TIED TO THE FLY ABILITY SO THAT A CHARACTER TO MOVE FROM FLYING TO WALKING
- bCanUse_eTraversal_BreakWindow=TRUE/False = Can move through windows by breaking them
- bCanUse_eTraversal_KickDoor=TRUE/False = Can move through doors by kicking them open
- bCanUse_eTraversal_JumpUp=TRUE/False = Can do a 'Leap' onto higher terrain (Thinmen/Chryssalids)
- bCanUse_eTraversal_WallClimb=TRUE/False = Similar to climb ladder, treats walls as ladders for the purpose of changing levels
- bCanUse_eTraversal_BreakWall=TRUE/False = Can knock down walls to move through them (NOT TESTED NO IDEA HOW THIS ACTUALLY FUNCTIONS BUT WOULD BE FUN FOR A JUGGERNAUT LOL RUN)
- eClass=eSC_None = Is the CLASS of the UNIT (Support/Heavy/Sniper/Assult) (I RECOMMEND NOT CHANGING THIS AS I HAVE NO IDEA HOW IT WILL EFFECT RANKING UP FROM ROOKIE TO SQUADDIE)
- Changing 'eClass=eSC_None', of 'iType=eChar_Soldier', might set all your future recruits to be of a sinlge class. (please see below - SoldersStatProgression lines - for vaild class values.)
- bHasPsiGift=TRUE/False = Sets the can use PSI abilites flag. (NOT TESTED!! COULD MAKE ALL YOUR SOLDIERS BE PSI CAPABLE, COULD DO NOTHING)
Soldier/NPC UNIT Balance Mods
This section of the DefaultGameCore.INI deals with bonuses/penalties units get on the various difficulty settings, as well as stat increases related to leveling up and few various other settings. Things that should be noted here are that the penalties and bonus's applied to your SOLDIERS in this secion only appear to effect the soldiers you START the game with, NOT soldiers you recruit later. This is likely a bug/unintentional behavior and may be fixed in a future patch. Also of note is that the difficulties listed are NOT the difficulties displayed in game. The equivalences are presented in the table below. So keep that in mind when you adjust 'Classic' settings in the INI you are actually adjusting IMPOSSIBLE settings in the game.Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:BALANCE Mode Game DIFFICULTY EASY Tutorial NORMAL Normal HARD Classic CLASSIC Impossible
At present it appears only the BALANCE Mode section values override the values embedded within the compiled XComGame.exe file.First lets look at the UNIT bonus Penalty table, which is laid out like this:- BalanceMods_Easy=(eType=eChar_None, iDamage=0, iCritHit=0, iAim=0, iDefense=0, iHP=0, iMobility=0, iWill=0)
Each MODE has its own separate table, designated by BalanceMods_EASY, NORMAL, HARD, or CLASSIC. Each table has an entry for every UNIT type designated by eType=eChar_UNITTYPENAME, then followed by the bonus's and penalties applied to that unit. If you look back at the CHARACTERS section, you can see what each stat does, what the BASE is for that stat, and then see how the bonus/penalty will effect that unit. All of these settings should be self explanatory but if they are not you can reference back to my previous explanations of what each stat does and figure it out from there.Note: Will and Mobility modification on difficulty balance for soldiers doesn't seems to work correctly sometimes, need more test.Next you have a small section dealing with soldiers level up bonus's which is laid out first by listing the WILL gains that all soldiers get upon leveling, and then showing what each individual class gets at each rank. Note that this is NOT broken down to difficulty modes, so no matter what difficulty you play at your soldiers will always use the same tables for stat progression. First I'll cover the WILL increase, listed at thier default values:- iRandWillIncrease=6 (This is the random amount of will every soldier gains upon leveling up, listed as the number 6 to mean 1 to 6. A soldier will gain anywhere from 1 to 6 will upon leveling up)
- iBaseOTSWillIncrease=2 (This is the FLAT will increase soldiers get once you have reseached IRON WILL in the Officer Training School, meaning every soldier will get 2 additional WILL for every level up)
- iRandOTSWillIncrease=4 (This is the RANDOM will increase soldeiers get once you have researched IRON WILL in the Officer Training School, meaning every solder will get a random amount between 1 and 4 upon leveling up)
With the default settings and with Iron Will your soldiers are capable of getting anywhere from 4 to 12 WILL upon every level up. 1d6+1d4+2 (If you prefer the DICE method)Next you have the listing for each class:- SoldierStatProgression=(eClass=eSC_Support, eRank=eRank_Squaddie, iHP=1, iAim=5, iWill=2, iDefense=0, iMobility=0 )
- eClass=eSC_Support(HeavyWeapons, Assualt, or Sniper) = Is the CLASS designation for the listing.
- eRank=eRank_Squaddie(or other rank) = Is the RANK that any soldier of that class will recieve the listed bonuses
- iHP = The number of additional HP given at that rank
- iAim = The amount of AIM given at that rank
- iWill = The amount of WILL given at that rank (note this is in addition to the random will increase listed earlier that all soldiers get regardless of class)
- iDefense = THIS DOES NOTHING!! It should give bonus defense on rank up, however this setting appears to not function.
- iMobility = Gives additional movements points at that rank.
Alien 'AIM' and 'CRIT' Bonuses
A common request is to mod one or both of these alien bonuses. Here is a simple procedure that should serve as a model for similar changes:- Download XCOMModHelper (or other tool that enables loose INI file loading). (See the Modding Tools - XCOM:EU 2012 wiki article for a list and links.)
- Enable loading of loose INI files (the INI files in the Config folder):
- If you want to mod XCOM Enemy Unknown (EU), run:
XCOMModHelper.exe -c EUConfig.xml
- If you want to mod XCOM Enemy Within (EW), run:
XCOMModHelper.exe -c EWConfig.xml
- You can alternatively edit the resource cache of XComGame.exe or XComEW.exe with tools like Resource Hacker, but editing text files is more comfortable and less likely to be overwritten by patches.
- Locate, backup and edit DefaultGameCore.ini:
- <Steam Installation Path>SteamAppscommonXCom-Enemy-UnknownXComGameConfig for XCOM Enemy Unknown.
- <Steam Installation Path>SteamAppscommonXCom-Enemy-UnknownXEWXComGameConfig for XCOM Enemy Within.
- You can check applied changes in game by giving the Thinman some ridiculous health like iHP=10, and then reverting it before resuming normal play.
Country Funding Balance Mods
This section deals with the funding you receive on a monthly basis from the various countries you have satellite coverage for. At present it appears only the BALANCE Mode values override the values embedded within the compiled XComGame.exe file.Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:BALANCE Mode Game DIFFICULTY EASY Tutorial NORMAL Normal HARD Classic CLASSIC Impossible
Funding Multiplier by BALANCE Mode / Game DIFFICULTY- FundingBalance=1.5 ; EASY/Tutorial
- FundingBalance=1 ; NORMAL/Normal
- FundingBalance=1 ; HARD/Classic
- FundingBalance=1 ; CLASSIC/Impossible
The order in which those appear seems to be the only determining factor for their use, and it would seem that this setting only effects the funding from countries with satellites. The funding you get from council missions/abductions is handled elsewhere. This is a MULTIPLIER so leaving it at 1 means you get DEFAULT funding, increasing or decreasing it means you get less/more funding. 2 would be TWICE and .5 would be HALF.Next up is the country list, which has 36 countries listed as possible funding sources, but only 16 of which show up in game as being capable of sending a satellite to. Perhaps there are 36 for future DLC? Or maybe it was done for country specific versions of the game? Who knows. You can easily edit these values to be whatever you want. However remember that any value that is currently listed as ZERO(0) will NOT add that country to the list of countries you can send satellites to, and seem to have no effect on the game at all.- Country Funding Amounts
- FundingAmounts=180 ;USA
- FundingAmounts=150 ;Russia
- FundingAmounts=100 ;China
- FundingAmounts=100 ;UK
- FundingAmounts=100 ;Germany
- FundingAmounts=80 ;France
- FundingAmounts=100 ;Japan
- FundingAmounts=60 ;India
- FundingAmounts=60 ;Australia
- FundingAmounts=0 ;Italy
- FundingAmounts=0 ;SouthKorea
- FundingAmounts=0 ;Turkey
- FundingAmounts=0 ;Indonesia
- FundingAmounts=0 ;Spain
- FundingAmounts=0 ;Pakistan
- FundingAmounts=100 ;Canada
- FundingAmounts=0 ;Iran
- FundingAmounts=0 ;Israel
- FundingAmounts=70 ;Egypt
- FundingAmounts=80 ;Brazil
- FundingAmounts=70 ;Argentina
- FundingAmounts=50 ;Mexico
- FundingAmounts=80 ;SouthAfrica
- FundingAmounts=0 ;SaudiArabia
- FundingAmounts=0 ;Ukraine
- FundingAmounts=100 ;Nigeria
- FundingAmounts=0 ;Venezuela
- FundingAmounts=0 ;Greece
- FundingAmounts=0 ;Columbia
- FundingAmounts=0 ;Portugal
- FundingAmounts=0 ;Sweden
- FundingAmounts=0 ;Ireland
- FundingAmounts=0 ;Scotland
- FundingAmounts=0 ;Norway
- FundingAmounts=0 ;Netherlands
- FundingAmounts=0 ;Belgium
Finally, there is the CONTINENT bonus sections, that dictates the number of scientists and engineers you get for each continent per difficulty level. This again is a fairly straight forward list of settings that follows this format:- ContBalance_Easy=(eCont=eContinent_Africa, iEngineers1=1, iScientists1=0, iEngineers2=2, iScientists2=1, iEngineers3=3, iScientists3=2 )
- ContBalance_Easy(Normal,Hard,Classic) = the game mode difficulty setting for the bonus scientists/engineers
- Cont=eContinent_Africa(Asia, Europe, NorthAmerica, SouthAmerica) = the continent that grants those bonus
- iEngineers/Scientists1(2,3,4,etc) = The NUMBER OF SATELLITES REQUIRED IN THAT CONTINENT TO GET THE BONUES
- iEngineers/ScientistsX=0,1,2,3, etc = The number of engineers/scientists you get.
XP Levels
At present it appears only the BALANCE section values override the values embedded within the compiled XComGame.exe file.Psi XP Levels are the XP required to reach each 'Rank' of Psi Abilities. None and Rank 1 require 0 Psi XP for obvious reasons, and rank 'Volunteer' has what appears to be a setting meant to prevent anyone from ever getting that much from Psi XP alone. There are only 3 RANKS built into the game. Volunteer is a position rather than a rank.Psi XP Levels (NONE, 1, 2, 3, Volunteer)- m_iPsiXPLevels=0
- m_iPsiXPLevels=0
- m_iPsiXPLevels=50
- m_iPsiXPLevels=120
- m_iPsiXPLevels=10000000
Soldier XP Levels are the amount of XP needed to reach each of the available ranks for your soldiers. This is a pretty straight forward setting that can be easily adjusted to make ;your soldier rank up slower/faster.Soldier XP Levels (Rookie, Squaddie, Corporal, Sergeant, Lieutenant, Captain, Major, Colonel)- m_iSoldierXPLevels=0
- m_iSoldierXPLevels=90
- m_iSoldierXPLevels=300
- m_iSoldierXPLevels=510
- m_iSoldierXPLevels=745
- m_iSoldierXPLevels=1100
- m_iSoldierXPLevels=1560
- m_iSoldierXPLevels=2150
Constants
These are the initialization values of variables that are used as 'constant values' within the game. Changes to any of these values will probably affect the balance of the game play between the XCOM and Alien sides.Tactical constants
These are the BASE materials you'll get from killing one of these units, modified by BALANCE Mode/Difficulty.- CYBERDISC_ELERIUM=4
- HFLOATER_ELERIUM=2
- DRONE_ELERIUM=2
- SECTOPOD_ELERIUM=10
- CYBERDISC_ALLOYS=8
- HFLOATER_ALLOYS=4
- DRONE_ALLOYS=4
- SECTOPOD_ALLOYS=15
EW added/moved more Tactical Constants to the DGC.INI file:- REACTION_PENALTY=0.7f ; Reaction fire amount of hit chance.
- DASHING_REACTION_MODIFIER=0.7f ; Reaction fire amount of hit chance against a dashing unit.
- LOW_COVER_BONUS=20 ; The defense increase a unit gains from entering low cover
- HIGH_COVER_BONUS=40 ; The defense increase a unit gains from entering high cover
- HUNKER_BONUS=2.0f
- AIR_EVADE_DEF=20 ; The defense increase a unit gains from air evasion bonus (Has char prop eCP_AirEvade)
- NO_COVER_DEF=20 ; innate defense value (Has char prop eCP_NoCover)
- REACTION_PENALTY=0.7f ; Reaction fire amount of hit chance.
- DASHING_REACTION_MODIFIER=0.7f ; Reaction fire amount of hit chance against a dashing unit.
- POISONED_AIM_PENALTY=20
- FOUNDRY_PISTOL_AIM_BONUS=10
- FOUNDRY_SCOPE_CRIT_BONUS=10
- FOUNDRY_PISTOL_CRIT_BONUS=20
- HARDENED_ENEMY_CRIT_VALUE=60
- FLANKING_CRIT_BONUS=50
Minimum Scatter
MIN_SCATTER controls the minimum accuracy of manually-aimed area-effect attacks, such as Rockets or Grenades, on a scale of 0 to 100. 90 = 90%, and so on.- MIN_SCATTER=90
Shoot when Panicked
This appears to be the 'Chance' that your soldiers or other NPC units will attempt to shoot a target (friendly or enmey) when they panic. Believed to be shortened percent, meaning its multiplied by 10 or a 50% chance. Needs confirmation.- SHOOT_WHEN_PANICKED=5
Terror Infection Chance
Chance of offscreen kills resulting in zombies on Chryssalid terror missions (BALANCE Mode dependent.)- TerrorInfectionChance=0 ; EASY/Tutorial
- TerrorInfectionChance=0 ; NORMAL/Normal
- TerrorInfectionChance=0.5 ; HARD/Classic
- TerrorInfectionChance=1 ; CLASSIC/Impossible
A Setting of 1 means you ALWAYS get zombies, even if the kill occured off screen. A setting of .5 is a 50% chance for off screen zombies, and 0 is no chance of off screen zombies.Note that ON SCREEN Chysallid kills will always turn into zombies regardless of this setting as long as you don't end the mission before they can convert. IE. A body that has not yet gotten up as a Zombie will NOT keep a mission going.ThinMan Plague Slider
Similar to SHOOT WHEN PANICKED, believed to be a percent chance that a ThinMan will use its Plague ability if its available. (BALANCE Mode dependent.)- ThinManPlagueSlider=5 ; EASY/Tutorial
- ThinManPlagueSlider=5 ; NORMAL/Normal
- ThinManPlagueSlider=10 ; HARD/Classic
- ThinManPlagueSlider=10 ; CLASSIC/Impossible
Although it appears to be an integer value, ThinManPlagueSlider is actually a FLOAT
This does affect the probability of a ThinMan using Plague, but in a more subtle way. Abilities are prioritized based on dynamic circumstances, and each ability's priority is used as a weight for randomly selecting which ability will be performed.The ThinManPlagueSlider is used to set the Plague abilities 'Intangible' score component (there are also Offense and Defense components) via:- A value of 5 results in a priority of 0.0
- A value of 7.5 results in a priority of 0.5
- A value of 10 results in a priority of 1.0
For comparison, the 'Offense' priority of shooting with a standard shot is compute via:If mod_hit_chance > 30%This priority is doubled if the target is the VIP or if the shooting unit is mind-merged.- mod_hit_chance of 0.35 results in offense priority of 0.60
- mod_hit_chance of 0.50 results in offense priority of 0.80
- mod_hit_chance of 0.70 results in offense priority of 1.14
If mod_hit_chance <= 30%- mod_hit_chance of 0.25 results in offense priority of 0.19
- mod_hit_chance of 0.20 results in offense priority of 0.14
- mod_hit_chance of 0.10 results in offense priority of 0.06
Instead of the base hit chance, a modified form that gives a bonus for shooting at wounded targets is used:- Target has 1 HP : +0.28
- Target has 2 HP : +0.21
- Target has 3 HP : +0.14
- Target has 4 HP : +0.07
- Target has 5+ HP : +0.00
Death Blossom Slider
Similar to SHOOT WHEN PANICKED, believed to be a percent chance that a Cyberdisc will use its Death Blossom ability, however the presence of the 20 on Impossible difficulty makes one wonder about the percentage. (BALANCE Mode dependent.)- DeathBlossomSlider=5 ; EASY/Tutorial
- DeathBlossomSlider=5 ; NORMAL/Normal
- DeathBlossomSlider=10 ; HARD/Classic
- DeathBlossomSlider=20 ; CLASSIC/Impossible
Blood Call Slider
Similar to SHOOT WHEN PANICKED, believed to be a percent chance that a Muton will use Blood Call ability. (BALANCE Mode dependent.)- BloodCallSlider=5 ; EASY/Tutorial
- BloodCallSlider=5 ; NORMAL/Normal
- BloodCallSlider=10 ; HARD/Classic
- BloodCallSlider=10 ; CLASSIC/Impossible
Alien Grenade Slider
Same as above, only this is the chance that an alien who CAN use grenades, WILL use grenades. The presence of 0.25 here makes one wonder about the chances, as people have seen grenades used often enough on normal to know its not 0.25% chance. We really need someone to find the reference point in the code to where this number is used in a calculation. (BALANCE Mode dependent.)- AlienGrenadeSlider=0.25
- AlienGrenadeSlider=0.25
- AlienGrenadeSlider=1
- AlienGrenadeSlider=10
Maximum Active AI Units
Maximum number of aliens that can be attacking you at one time. -1 no limit.This setting determines the Maximum number of units who will make attacks per round, not just against you, but also againt NPC civilians. Setting this higher/lower has a major effect on 'Terror' missions as the off screen aliens will just go to town killing civilians. Combine with Off Screen infection chance for good times!! (BALANCE Mode dependent.)- MaxActiveAIUnits=5 ; EASY/Tutorial
- MaxActiveAIUnits=5 ; NORMAL/Normal
- MaxActiveAIUnits=-1 ; HARD/Classic
- MaxActiveAIUnits=-1 ; CLASSIC/Impossible
Aim Bonuses & Penalties
These settings affect aim bonuses or penalties when attacking an enemy within CLOSE_RANGE. This aim bonus is calculated using the following: ([CLOSE_RANGE]-[Distance from Enemy]) X [AIM_CLIMB] [Aim Bonus]An example would be a soldier with a base aim of 65 attacking a flanked sectoid from 10 blocks away: (14-10) X 3 12%. Add this to the soldiers base aim of 65% for a final hit chance of 77%.- CLOSE_RANGE : The distance at which an enemy is considered to be in 'Close Range' and thus obtains aim bonuses or penalties. (Default is 14 grid blocks)
- ASSAULT_LONG_RANGE_MAX_PENALTY : The maximum penalty an assault weapon can receive at any distance. It can never drop beyond this value. (Default is 40%)
- AIM_CLIMB : The aim bonus in percent that non sniper/assault weapons receive when in CLOSE_RANGE, per grid block. (Default is 3% per grid block)
- ASSAULT_AIM_CLIMB : The aim bonus in percent that assault class weapons receive when in CLOSE_RANGE, per grid block. (Default is 4% per grid block)
- SNIPER_AIM_FALL : The aim penalty in percent that sniper class weapons receive when in CLOSE_RANGE, per grid block. (Default is -2% per grid block)
- CLOSE_RANGE = 14.0f
- ASSAULT_LONG_RANGE_MAX_PENALTY = -40
- AIM_CLIMB = 3.0f
- ASSAULT_AIM_CLIMB = 4f
- SNIPER_AIM_FALL = -2.0f
UFO LURK Chance
Percentile chances that a UFO will linger (LURK) after it has completed its mission, allowing it to be spotted and attacked on the GeoScape. Ref: XComGame.upk >> XGOvermind >> DetermineUFOTactics().They also determine what unactivated alien pods do in tactical missions. Pods are either set to lurk or patrol. Lurking pods sit still and wait to be activated. Patrol pods move around. See XGTactic_Lurk class and XGTactic_Patrol class for the details of the behaviors. Ref: XComGame.upk >> XGOvermind >> DetermineAbductionTactics().See discussion in thread Turning on alien pods on the Nexus Forums.- ABDUCTION_LURK_PCT=50
- SMALL_UFO_LURK_PCT=0
- LARGE_UFO_LURK_PCT=50
Grapple Distance
The MAXIMUM movement units a use of the grapple ability will move you. The game counts all height (Z) level changes as a single point of movement, which is why the grapple will yank you to the top of buildings from really far away. Setting this higher/lower will of course increase/decrease the distance you can grapple onto roofs.- GRAPPLE_DIST=15
Max Critical Wound
The percentage of the original shot damage value that can contribute to the critical damage, for example in tabletop terms: If BASE damage of 10 means you can get a critical hit of up to 90% (9) meaning total possible damage = 19. In tests lowered this to 50 and critical hits (total damage shown) are lower as anticipated. Worth bearing in mind that just because your base damage is 10, it doesn't mean you will HIT for 10... you may hit for 5, meaning your critical damage max would then be 4 = 9.MAX_CRIT_WOUND=90Fragment Balance
Perhaps a multiplier to the number of Weapon Fragments recovered based upon the Game Mode of (Easy,Normal,Classic,Impossible).FragmentBalance seems to govern how many weapon fragments you get from each alien killed without explosives. A sectoid plasma pistol when FB=1 returns about eight fragments; at .25 (the default) that number is 2 fragments. (BALANCE Mode dependent.)- FragmentBalance=0.25 ; EASY/Tutorial
- FragmentBalance=0.25 ; NORMAL/Normal
- FragmentBalance=0.25 ; HARD/Classic
- FragmentBalance=0.25 ; CLASSIC/Impossible
Strategy Game Constants
Abduction Reward
Covers how much cash/scientists/engineers you are awarded when you complete an Abduction Mission.- ABDUCTION_REWARD_CASH=200
- ABDUCTION_REWARD_SCI=4
- ABDUCTION_REWARD_ENG=4
Council Day
Perhaps the minimum number of days, and then the range of random days added to the minimum that must pass before a new council mission is offered. Needs testing.- COUNCIL_DAY=20
- COUNCIL_RAND_DAYS=7
Council Funding
Similar to the funding multiplier for Satellites in the previous section, these setting multiple the amount of CASH funding you get for the random council missions. (BALANCE Mode dependent.)- COUNCIL_FUNDING_MULTIPLIER_EASY = 1.5f ; EASY/Tutorial
- COUNCIL_FUNDING_MULTIPLIER_NORMAL = 1 ; NORMAL/Normal
- COUNCIL_FUNDING_MULTIPLIER_HARD = 1 ; HARD/Classic
- COUNCIL_FUNDING_MULTIPLIER_CLASSIC= 1 ; CLASSIC/Impossible
UFO Constants
Detect the UFOs that are carrying out abductions and terror missions BEFORE they start them. This allows you to shoot down the UFO's before hand. 0 = no, 1 = yes.- ShowUFOsOnMission=0
AI Terrorize Most Panicked
Chance that the Terror Attack will occur in the MOST PANICKED country. This of course gives you the chance to lower panic in those countries by completing the mission. Basically a game saver as long as you don't screw up the mission.- AI_TERRORIZE_MOST_PANICKED = 75
UFO Visibility Chance
Haven't entirely worked this out yet but essentially you have UFOs flying around all the time, unseen by the player. Generally the player gets to see 1 UFO per month with a percentile chance of a second UFO becoming visible. EARLY & LATE referring to before & after the Alien Base assault mission is completed. UFO_LIMIT appears to be a cap on the # of UFOs that the player can be given in any month - so if the abduction/terror UFOs are enabled, then you will get the chance to see only 2 total, regardless of 'second-chance' UFOs flying around. When increased to 4, encountered a standard UFO, an abduction UFO, then a third small UFO. As this raised no other event, can only assume was a 'second chance' UFO (which was shot down and got a mission for). This after raising both EARLY and LATE UFO chances to 75. Needs confirmation.LATE_UFO_CHANCE = 50 ; Chance of Aliens sending out a second UFO in the months after you've defeated the base.EARLY_UFO_CHANCE = 50UFO_LIMIT = 2UFO_INTERCEPTION_PCT=66 Chance that a UFO will require interception - ' I *think* that this is the percentage that any 'Observed UFO' will need to be intercepted by the player i.e. is 'made visible' to the player, so even if you get a second-chance UFO you may not need to intercept it - but that is pretty much a guess and only makes a lot of sense if the abduction/terror UFOs were enabled, so it may be legacy code..... Big chunk of guessing in there. :-0 'BASE Balance Factors
Make it cost more/less resources to build things vs BASE depending on what you set these to; 1 being BASE, 2 being TWO times BASE, 0.5 being half base. and 0 being FREE. Item time balance is a straight multiplier of the time required to build an item. e.g. ItemBalance=(eItem=eItem_Satellite,iCash=150,iElerium=0, iAlloys=0, iTime=20, iEng=5) ITEM_TIME_BALANCE=3 will turn those 20 days into 60 days (tested, verified). Woorks with percentiles, so item balance = 1.2 will add 20% time to the iTime of each eItem.- TECH_TIME_BALANCE=6.66
- ITEM_TIME_BALANCE=1
- ITEM_CREDIT_BALANCE=1
- ITEM_ELERIUM_BALANCE=1
- ITEM_ALLOY_BALANCE=1
- FACILITY_COST_BALANCE=1
- FACILITY_MAINTENANCE_BALANCE=1
- FACILITY_TIME_BALANCE=1
ALLOY UFO BALANCE
Multiplier of Alloys you get from UFO's. (BALANCE Mode dependent.)- ALLOY_UFO_BALANCE=2.5 ; EASY/Tutorial
- ALLOY_UFO_BALANCE=2 ; NORMAL/Normal
- ALLOY_UFO_BALANCE=2 ; HARD/Classic
- ALLOY_UFO_BALANCE=2 ; CLASSIC/Impossible
ELERIUM UFO BALANCE
Amount of Elerium you get PER INTACT POWER SOURCE on a UFO. (BALANCE Mode dependent.)- UFO_ELERIUM_PER_POWER_SOURCE=30 ; EASY/Tutorial
- UFO_ELERIUM_PER_POWER_SOURCE=25 ; NORMAL/Normal
- UFO_ELERIUM_PER_POWER_SOURCE=25 ; HARD/Classic
- UFO_ELERIUM_PER_POWER_SOURCE=25 ; CLASSIC/Impossible
ALLOY UFO BASE
- The BASE Alloys each ship type gives BEFORE the ALLOY Multiplier is used.
- UFOAlloys=30 ;eShip_UFOSmallScout
- UFOAlloys=60 ;eShip_UFOLargeScout
- UFOAlloys=80 ;eShip_UFOAbductor
- UFOAlloys=100 ;eShip_UFOSupply
- UFOAlloys=130 ;eShip_UFOBattle
- UFOAlloys=60 ;eShip_UFOEthereal
UFO Wreck Losses
Percentages of Alloys/Elerium lost to damage/wreck. Not sure if this is done before or after the multiplier. So assuming a SMALL UFO on NORMAL MODE that was UNDAMAGED (set down) and you DIDN'T destroy any of its structure during a mission the calculation COULD be: BASE 30 x MULTIPLIER 2 x RANDOMIZED WRECK LOSS 0 in this case = 60 Alloy for perfect clear. Now, if you shot it down it would be a wreck and would then roll a RANDOM percent loss of total alloy between 50% and 90%. Needs confirmation.- MIN_WRECKED_ALLOYS=0.5
- MAX_WRECKED_ALLOYS=0.9
- MAX_LOST_WRECKED_ELERIUM=0.75
- MIN_LOST_WRECKED_ELERIUM=0.5
Research/Laboratories
Number of starting scientists, the MINIMUM number of scientists you need for your first lab, then the MULTIPLE you need for each additional Lab (First at 6, second at 11, third at ; 16, etc). The time reduction bonus you get per lab, in this case 1.2 means you are getting a 20% BONUS per lab in research time reduction. Adjacency bonus of 1.1 works the same ; way, giving you a 10% additional bonus in time reduction.- NUM_STARTING_SCIENTISTS=5
- LAB_MINIMUM=6
- LAB_MULTIPLE=5
- LAB_BONUS=1.2
- LAB_ADJACENCY_BONUS=1.1
Engineering/Workshops
Identical to the research/lab section, only for engineers. Here the percentages are clearly stated as such, so for each adjacent lab you are getting a 7% cost REFUND (not cost reduction) on foundry projects, item building, and facility building. ENG BONUS is the number of engineers each workshop gives.- NUM_STARTING_ENGINEERS=5
- WORKSHOP_MINIMUM=6
- WORKSHOP_MULTIPLE=10
- WORKSHOP_REBATE_PCT=7
- WORKSHOP_ENG_BONUS=5
Satellite Control Multiples
Uplink/Nexus multiple is the number of Engineers you need AFTER the first one is built. So your first Satellite uplink required 5, then 15, then 25, then 35.- UPLINK_MULTIPLE=10
- NEXUS_MULTIPLE=15
Soldier Values
The number of Soldiers you start the game with, and the maximum number of soldiers you can have recruited at one time.- NUM_STARTING_SOLDIERS=12
- BARRACKS_CAPACITY=99
Soldier Variations
When 'Second Wave' is enabled and you use the 'Not Created Equally' setting, the Soldiers you start the game with will have a RANDOM stat value between the LOW and the HIGH values listed here (NOTE: Overrides stats listed on the SOLDIER character profile). Your rookie recruits will have the values listed in the ROOKIE section.- LOW_AIM=50 ;Random chance variation for aim? Seems only a medium stat value
- HIGH_AIM=80 //Random chance variation for aim? Seems only a medium stat value
- LOW_MOBILITY=12 //Random chance variation for mobility? Seems only a medium stat value
- HIGH_MOBILITY=14 //Random chance variation for mobility? Seems only a medium stat value
- LOW_WILL=20 //Stat medium, changing this is necessary when the starting will has been modified, keep same range of value ex: with start will 70 lower 50 hight 90
- HIGH_WILL=60 //Stat medium, changing this is necessary when the starting will has been modified, keep same range of value ex: with start will 70 lower 50 hight 90
- ROOKIE_AIM=65 //Confirmed work value allowed between 1-200. May not be safe use more than 155.
- ROOKIE_MOBILITY=12 //Confirmed work limit untested
- ROOKIE_STARTING_WILL=40 //Confirmed work value allowed between 1-200. May not be safe use more than 140.
PSI Related
This number is the divisor used in a calculation to determine the % chance that a soldier will have the Psi gift, Lower numbers Increase the chance, Higher numbers Decrease the chance. If you want virtually all soldiers to be Psionic make this a 0.1 (In theory the chance go beyond 100%)Setting this to 1 give a 44.5-52.5% depending on rank, lower rank seems to have higher chance.- PSI_GIFT_CHANCE=4
If your first PSI_TEST_LIMIT soldiers are not psi-capable, your next soldier is guaranteed to be positive. At the default value of 5, this would be the first soldier added to the second batch, as the psi-testing is resolved in reverse order.- PSI_TEST_LIMIT=5
Training hours is the number of hours it takes to test for Psionic ability (24hr a day, 240 = 10days). Training slots is the number of slots in the training facility, default being ; 3 of course. I have raised this at high as 7 with no problems, it can probably go higher but I have not tested it higher then 7.- PSI_TRAINING_HOURS=240
- PSI_NUM_TRAINING_SLOTS=3
Soldier Recovery
When a soldier is injured on a mission this is the BASE and then RANDOM ADDITIONAL days it takes before the soldier is fully healed and able to return to combat. 1d6+4- BASE_DAYS_INJURED = 4
- RAND_DAYS_INJURED = 6
Soldier Recruitment
How much money it takes to recruit soldiers, per difficulty level.- SOLDIER_COST=10
- SOLDIER_COST_HARD=15
- SOLDIER_COST_CLASSIC=15
Tank Values
Settings related to SHIVS (Known at TANKS in most settings). Base days to repair + random days, 1d4+1. How many base HP they have. This value are the bonus hit points the SHIV posses over the normal soldier hp value, increasing this give the SHIV more hp.- BASE_DAYS_INJURED_TANK = 1
- RAND_DAYS_INJURED_TANK = 4
- ALLOY_SHIV_HP_BONUS = 8
- HOVER_SHIV_HP_BONUS = 8
Headquarters Balance Mode Values
Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:BALANCE Mode Game DIFFICULTY EASY Tutorial NORMAL Normal HARD Classic CLASSIC Impossible
Money you start with on all difficulty settings (NOTE IT IS EFFECTED BY THE FUNDING MULTIPLIER)- HQ_STARTING_MONEY = 100
BASE money you get each month, before income from satellites are added. (BALANCE Mode dependent.)- BASE_FUNDING = 175 ; EASY/Tutorial
- BASE_FUNDING = 175 ; NORMAL/Normal
- BASE_FUNDING = 75 ; HARD/Classic
- BASE_FUNDING = 50 ; CLASSIC/Impossible
The power granted for free by the base depending on difficulty level.BASE Power that your Base has. (BALANCE Mode dependent.)- HQ_BASE_POWER = 40 ; EASY/Tutorial
- HQ_BASE_POWER = 35 ; NORMAL/Normal
- HQ_BASE_POWER = 30 ; HARD/Classic
- HQ_BASE_POWER = 30 ; CLASSIC/Impossible
Base Facility Values
The amount of additional power that each generator type will create and the adjacency bonus for having multiple generators next to each other.
Note it's necessary to change the FacilityBalance relatives to the generator if this value are modified.- POWER_NORMAL = 6
- POWER_THERMAL = 20
- POWER_ELERIUM = 30
- POWER_ADJACENCY_BONUS = 2
This appears to be the RANDOM number of steam vents you can have, ranging from 1-3 in the case of default settings. Increase for more possible steam vents. Note that the MAXIMUM number of spaces in the BASE is 35 (7x5). Increasing this number HIGHER than 35 may cause bugs/crashes if you happen to randomly get more than 35 possible steam vents.- NUM_STARTING_STEAM_VENTS = 3
Listed in HOURS how long it takes to Refuel, Repair (regardless of how much damage), Rearm (change weapons), or Transfer to a new continent.- INTERCEPTOR_REFUEL_RATE=24
- INTERCEPTOR_REPAIR_HOURS=168
- INTERCEPTOR_REARM_HOURS = 24
- INTERCEPTOR_TRANSFER_TIME = 72
How much CASH it costs per month to maintain your skyranger (a setting that I think is stupid as you will ALWAYS have one and you can't build more.. so why is this even a setting, ; perhaps in a previous build you could have more than one.. who knows). And BASE Squad size BEFORE Officer training school upgrades. You could set this to 6 to have a squad size of ; 6 right off, but increasing it beyond 6 seems to cause problems. Please check the increased squad size thread for more info on this.- BASE_SKYRANGER_MAINTENANCE = 20
- SKYRANGER_CAPACITY = 4
How many satellites each Satellite uplink type can support. Basic is 2, Nexus is 4, and adjacency is 1 additional per.- UPLINK_CAPACITY = 2
- UPLINK_ADJACENCY_BONUS = 1
- NEXUS_CAPACITY = 4
Seems to relate to the number of spaces in the BASE you have to work with to build facilities.- NUM_TERRAIN_WIDE = 7
- NUM_TERRAIN_HIGH = 5
How much it costs to excavate a BASE square (BEFORE DEPTH MULTIPLIER), how many days it takes, and how much it costs to remove a facility and how many days it takes to remove. Some think there was a typo here and they meant for it to be FREE to remove facilities but that it should take 5 days to do it, as the 5 credit cost is just stupid, and the instant removal of a facility which took days to build (or dirt that took 5 days to remove) makes little to no sense.- BASE_EXCAVATE_CASH_COST = 10
- BASE_REMOVE_CASH_COST = 5
- BASE_EXCAVATE_DAYS = 5
- BASE_REMOVAL_DAYS = 0
Mission Timers
How many hours you have to start the mission before it disappears and you get the panic penalty for not doing the mission.- UFO_CRASH_TIMER = 48
- TERROR_TIMER = 30
- UFO_LANDED_TIMER = 30
- ABDUCTION_TIMER = 30
UFO WRECK Values
Percent chances that different 'Goods' on UFO's will be intact after being shot down. PS = Power Source, NAV = Flight Navigation Computer, STASIS = Stasis Pod, Surgery = Alien Surgery ; Bed, and the rest don't need explaining.- UFO_PS_SURVIVE = 33
- UFO_NAV_SURVIVE = 50
- UFO_STASIS_SURVIVE = 25
- UFO_SURGERY_SURVIVE = 25
- UFO_ENTERTAINMENT_SURVIVE = 25
- UFO_FOOD_SURVIVE = 25
- UFO_HYPERWAVE_SURVIVE = 100
- UFO_FUSION_SURVIVE = 100
- UFO_PSI_LINK_SURVIVE = 100
Percent chances that a UFO that is NOT shot down will find and destroy your satellite over that country.- UFO_FIND_STEALTH_SAT = 25
- UFO_FIND_SAT = 100
- UFO_SECOND_PASS_FIND_STEALTH_SAT=50
- UFO_SECOND_PASS_FIND_SAT=100
PANIC Base Values
- PANIC_TERROR_CONTINENT=2 ;How many Panic points the continent gets from a terror attack
- PANIC_TERROR_COUNTRY=2 ;How many Panic points the country gets from a terror attack
- PANIC_UFO_SHOOTDOWN=-1 ;Panic reduction for shooting down a UFO over a country for that country
- PANIC_UFO_ASSAULT=-1 ;Panic reduction for assulting a landed/crashed UFO in a country
- PANIC_SAT_DESTROYED_CONTINENT=1 ;Panic increase for the continent if a satelite is destroyed
- PANIC_SAT_DESTROYED_COUNTRY=2 ;Panic increase of the country if a satelite is destroyed
- PANIC_SAT_ADDED_COUNTRY=-2 ;Panic reduction for adding a satelite to a country
- PANIC_SAT_ADDED_CONTINENT=0 ;Panic reduction for adding a satelite to a country for that countries continent
- PANIC_ALIENBASE_CONQUERED=-2 ;Global panic reduction for completing the alien base assualt
- PANIC_UFO_IGNORED=2 ;Panic increase for an ignoreed UFO in that country
- PANIC_UFO_ESCAPED=1 ;Panic increase for an escaped UFO in that country
BALANCE Mode Panic Values
Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:BALANCE Mode Game DIFFICULTY EASY Tutorial NORMAL Normal HARD Classic CLASSIC Impossible
Panic added to a country for a missed/aborted Abduction mission. (BALANCE Mode dependent.)- PANIC_ABDUCTION_COUNTRY_EASY=1 ; EASY/Tutorial
- PANIC_ABDUCTION_COUNTRY_NORMAL=1 ; NORMAL/Normal
- PANIC_ABDUCTION_COUNTRY_HARD=1 ; HARD/Classic
- PANIC_ABDUCTION_COUNTRY_CLASSIC=2 ; CLASSIC/Impossible
Panic added to a continent for a missed/aborted Abduction mission. (BALANCE Mode dependent.)- PANIC_ABDUCTION_CONTINENT_EASY=1 ; EASY/Tutorial
- PANIC_ABDUCTION_CONTINENT_NORMAL=1 ; NORMAL/Normal
- PANIC_ABDUCTION_CONTINENT_HARD=1 ; HARD/Classic
- PANIC_ABDUCTION_CONTINENT_CLASSIC=1 ; CLASSIC/Impossible
Panic reduction for completing an Abduction mission.- PANIC_ABDUCTION_THWARTED_CONTINENT=0 ; for that continent
- PANIC_ABDUCTION_THWARTED_COUNTRY=-3 ; for that country
Total GLOBAL panic at the start of the game. (BALANCE Mode dependent.)- STARTING_PANIC_EASY=0 ; EASY/Tutorial
- STARTING_PANIC_NORMAL=0 ; NORMAL/Normal
- STARTING_PANIC_HARD=8 ; HARD/Classic
- STARTING_PANIC_CLASSIC=16 ; CLASSIC/Impossible
BALANCE Mode Panic Defection Chance Rolls
Internally BALANCE Modes translate to Game DIFFICULTY setting as follows:BALANCE Mode Game DIFFICULTY EASY Tutorial NORMAL Normal HARD Classic CLASSIC Impossible
Amount of Panic needed for a country to leave the XCOM Project. (BALANCE Mode dependent.)- PANIC_DEFECT_THRESHHOLD_EASY=5 ; EASY/Tutorial
- PANIC_DEFECT_THRESHHOLD_NORMAL=5 ; NORMAL/Normal
- PANIC_DEFECT_THRESHHOLD_HARD=5 ; HARD/Classic
- PANIC_DEFECT_THRESHHOLD_CLASSIC=5 ; CLASSIC/Impossible
If a country has X panic and you don't help it, it will leave 100% of the time. (BALANCE Mode dependent.)- PANIC_DEFECT_THRESHHOLD_NOT_HELPED_EASY=5 ; EASY/Tutorial
- PANIC_DEFECT_THRESHHOLD_NOT_HELPED_NORMAL=5 ; NORMAL/Normal
- PANIC_DEFECT_THRESHHOLD_NOT_HELPED_HARD=5 ; HARD/Classic
- PANIC_DEFECT_THRESHHOLD_NOT_HELPED_CLASSIC=5 ; CLASSIC/Impossible
Maximum number of countries that can leave the project per month due to panic. (BALANCE Mode dependent.)- PANIC_DEFECTIONS_PER_MONTH_EASY=1 ; EASY/Tutorial
- PANIC_DEFECTIONS_PER_MONTH_NORMAL=2 ; NORMAL/Normal
- PANIC_DEFECTIONS_PER_MONTH_HARD=3 ; HARD/Classic
- PANIC_DEFECTIONS_PER_MONTH_CLASSIC=8 ; CLASSIC/Impossible
Percent Chance of defection based on the number of panic blocks a country has.
NOTE THAT to even START checking, a country needs 5, so at a minimum there is a 50% chance a country will leave once the checking starts. (BALANCE Mode dependent.)- PANIC_DEFECT_CHANCE_PER_BLOCK_EASY=10 ; EASY/Tutorial
- PANIC_DEFECT_CHANCE_PER_BLOCK_NORMAL=10 ; NORMAL/Normal
- PANIC_DEFECT_CHANCE_PER_BLOCK_HARD=10 ; HARD/Classic
- PANIC_DEFECT_CHANCE_PER_BLOCK_CLASSIC=10 ; CLASSIC/Impossible
If country has satellite, 'Chance of Leaving', BLOCK REDUCTION for the PANIC DEFECT CHANCE, basicly a 10% reduction in chance. (BALANCE Mode dependent.)- SAT_HELP_DEFECT=1 ; EASY/Tutorial
- SAT_HELP_DEFECT=1 ; NORMAL/Normal
- SAT_HELP_DEFECT=1 ; HARD/Classic
- SAT_HELP_DEFECT=1 ; CLASSIC/Impossible
Else If continent has one or more satellite, 'Chance of Leaving' BLOCK REDUCTION for the PANIC DEFECT CHANCE, basicly a 10% reduction in chance. (BALANCE Mode dependent.)- SAT_NEARBY_HELP_DEFECT=1 ; EASY/Tutorial
- SAT_NEARBY_HELP_DEFECT=1 ; NORMAL/Normal
- SAT_NEARBY_HELP_DEFECT=1 ; HARD/Classic
- SAT_NEARBY_HELP_DEFECT=1 ; CLASSIC/Impossible
If a country has a satellite, it will remove panic once a month, but the chance of this happening is PANIC_REDUCTION_CHANCE (below). (BALANCE Mode dependent.)- SAT_PANIC_REDUCTION_PER_MONTH=1 ; EASY/Tutorial
- SAT_PANIC_REDUCTION_PER_MONTH=1 ; NORMAL/Normal
- SAT_PANIC_REDUCTION_PER_MONTH=1 ; HARD/Classic
- SAT_PANIC_REDUCTION_PER_MONTH=1 ; CLASSIC/Impossible
Percent chance that a country will reduce panic because it has a satelite, see SAT_PANIC_REDUCTION_PER_MONTH above. Applies to PANIC LEVEL 5. (BALANCE Mode dependent.)- PANIC_5_REDUCTION_CHANCE=100 ; EASY/Tutorial
- PANIC_5_REDUCTION_CHANCE=100 ; NORMAL/Normal
- PANIC_5_REDUCTION_CHANCE=50 ; HARD/Classic
- PANIC_5_REDUCTION_CHANCE=50 ; CLASSIC/Impossible
Percent chance that a country will reduce panic because it has a satelite, see SAT_PANIC_REDUCTION_PER_MONTH above. Applies to PANIC LEVEL 4. (BALANCE Mode dependent.)- PANIC_4_REDUCTION_CHANCE=50 ; EASY/Tutorial
- PANIC_4_REDUCTION_CHANCE=50 ; NORMAL/Normal
- PANIC_4_REDUCTION_CHANCE=25 ; HARD/Classic
- PANIC_4_REDUCTION_CHANCE=25 ; CLASSIC/Impossible
Percent chance that a country will reduce panic because it has a satelite, see SAT_PANIC_REDUCTION_PER_MONTH above. Applies to PANIC LEVEL 3 or less. (BALANCE Mode dependent.)- PANIC_LOW_REDUCTION_CHANCE=25 ; EASY/Tutorial
- PANIC_LOW_REDUCTION_CHANCE=25 ; NORMAL/Normal
- PANIC_LOW_REDUCTION_CHANCE=10 ; HARD/Classic
- PANIC_LOW_REDUCTION_CHANCE=10 ; CLASSIC/Impossible
Starting Continent Bonuses
These directly relate to the percent bonuses you get for your starting continent and then for satellite coverage. NOTE that the south american bonus of instant interogation/autopsy ; is not listed. The bonus's are FUNDING BONUS (30% increased funding for Africa), FUTURE COMBAT (50% Foundry and OTS cost reduction, AIR AND SPACE(50% Aircraft build/maintenance ; reduction, EXPERT(50% reduction in cost of workshops/labs). All of these can be freely adjusted and the changes reflect in the game. You want to make things FREE go right ahead. ; lol- CB_FUNDING_BONUS=30
- CB_FUTURECOMBAT_BONUS=50
- CB_AIRANDSPACE_BONUS=50
- CB_EXPERT_BONUS=50
Second Wave
Second Wave options are options that were originally intended to be enabled for additional playthroughs after you complete the game for the first time. The developers were not able ; to finish them completely so they may/may not work as intended. I do NOT recommend changing these settings other than ENABLING THEM (ENABLE_SECOND_WAVE = 1) as they may have many ; unintended game breaking consequences.- ENABLE_SECOND_WAVE = 0
- SW_FLANK_CRIT=100
- SW_COVER_INCREASE=1.5f
- SW_SATELLITE_INCREASE=1.45f
- SW_ELERIUM_HALFLIFE=24
- SW_ELERIUM_LOSS=0.05f
- SW_ABDUCTION_SITES=4
- SW_RARE_PSI=8
- SW_MARATHON=2.0f
- SW_MORE_POWER=2.0f
The settings for Species Points Limit are dependent on the console the game is running on.
The AssetCost for each alien has no bearing on the difficulty of the alien, but seems to correlate with the complexity of the model/animation.
E.g. Sectoids are 100 points, Drones are 75 points, Outsider is 50 points, Sectopod is 75 points.This is used by the function CostAlienSquad(out TAlienSquad kSquad).- SPECIES_POINT_LIMIT=500
Presumably the minimum distance at which a kill cam will trigger. Considering the MAXIMUM range for weapons in this game is 100 by default, this setting ensures that there will ALWAYS be a kill. Not confirmed.- KILL_CAM_MIN_DIST=720.0
ITEM Base Balance Costs
List of all items in the game and the BASE cost for them.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.- ItemBalance=(eItem=eItem_Medikit, iCash=25, iElerium=0, iAlloys=0, iTime=7, iEng=5)
- ItemBalance=(eItem=eItem_ArcThrower, iCash=35, iElerium=0, iAlloys=0, iTime=7, iEng=5)
- ItemBalance=(eItem=eItem_TargetingModule, iCash=20, iElerium=0, iAlloys=0, iTime=7, iEng=5)
- ItemBalance=(eItem=eItem_ReinforcedArmor, iCash=20, iElerium=0, iAlloys=0, iTime=7, iEng=5)
- ItemBalance=(eItem=eItem_ChitinPlating, iCash=85, iElerium=0, iAlloys=10, iTime=7, iEng=15)
- ItemBalance=(eItem=eItem_CombatStims, iCash=50, iElerium=0, iAlloys=5, iTime=7, iEng=15)
- ItemBalance=(eItem=eItem_MindShield, iCash=150,iElerium=30,iAlloys=10, iTime=10, iEng=35)
- ItemBalance=(eItem=eItem_Skeleton_Key, iCash=25, iElerium=10,iAlloys=10, iTime=7, iEng=15)
- ItemBalance=(eItem=eItem_LaserPistol, iCash=10, iElerium=0, iAlloys=10, iTime=7, iEng=10)
- ItemBalance=(eItem=eItem_LaserAssaultRifle, iCash=25, iElerium=0, iAlloys=15, iTime=7, iEng=12)
- ItemBalance=(eItem=eItem_LaserAssaultGun, iCash=30, iElerium=0, iAlloys=25, iTime=7, iEng=12)
- ItemBalance=(eItem=eItem_LaserSniperRifle, iCash=35, iElerium=0, iAlloys=25, iTime=7, iEng=12)
- ItemBalance=(eItem=eItem_HeavyLaser, iCash=30, iElerium=0, iAlloys=25, iTime=7, iEng=12)
- ItemBalance=(eItem=eItem_PlasmaPistol, iCash=100,iElerium=10,iAlloys=20, iTime=10, iEng=20)
- ItemBalance=(eItem=eItem_PlasmaLightRifle, iCash=125,iElerium=15,iAlloys=20, iTime=10, iEng=20)
- ItemBalance=(eItem=eItem_PlasmaAssaultRifle, iCash=200,iElerium=20,iAlloys=30, iTime=10, iEng=20)
- ItemBalance=(eItem=eItem_AlloyCannon, iCash=200,iElerium=20,iAlloys=50, iTime=12, iEng=25)
- ItemBalance=(eItem=eItem_HeavyPlasma, iCash=250,iElerium=30,iAlloys=30, iTime=10, iEng=25)
- ItemBalance=(eItem=eItem_PlasmaSniperRifle, iCash=250,iElerium=25,iAlloys=30, iTime=15, iEng=25)
- ItemBalance=(eItem=eItem_BlasterLauncher, iCash=275,iElerium=65,iAlloys=50, iTime=15, iEng=35)
- ItemBalance=(eItem=eItem_ArmorCarapace, iCash=25, iElerium=0, iAlloys=15, iTime=10, iEng=10)
- ItemBalance=(eItem=eItem_ArmorSkeleton, iCash=30, iElerium=0, iAlloys=10, iTime=10, iEng=15)
- ItemBalance=(eItem=eItem_ArmorTitan, iCash=150,iElerium=10,iAlloys=35, iTime=10, iEng=25)
- ItemBalance=(eItem=eItem_ArmorArchAngel, iCash=200,iElerium=35,iAlloys=50, iTime=14, iEng=35)
- ItemBalance=(eItem=eItem_ArmorGhost, iCash=250,iElerium=50,iAlloys=40, iTime=14, iEng=40)
- ItemBalance=(eItem=eItem_ArmorPsi, iCash=400,iElerium=40,iAlloys=20, iTime=10, iEng=30)
- ItemBalance=(eItem=eItem_SHIV, iCash=50, iElerium=0, iAlloys=0, iTime=7, iEng=5)
- ItemBalance=(eItem=eItem_SHIV_Alloy, iCash=75, iElerium=0, iAlloys=20, iTime=7, iEng=10)
- ItemBalance=(eItem=eItem_SHIV_Hover, iCash=100,iElerium=20,iAlloys=30, iTime=7, iEng=20)
- ItemBalance=(eItem=eItem_Interceptor, iCash=40, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_Firestorm, iCash=200,iElerium=20,iAlloys=40, iTime=14, iEng=20)
- ItemBalance=(eItem=eItem_Satellite, iCash=100,iElerium=0, iAlloys=0, iTime=20, iEng=5)
- ItemBalance=(eItem=eItem_IntWeap_I, iCash=35, iElerium=0, iAlloys=0, iTime=7, iEng=5)
- ItemBalance=(eItem=eItem_IntWeap_III, iCash=35, iElerium=0, iAlloys=25, iTime=7, iEng=10)
- ItemBalance=(eItem=eItem_IntWeap_IV, iCash=100,iElerium=20,iAlloys=20, iTime=10, iEng=20)
- ItemBalance=(eItem=eItem_IntWeap_V, iCash=200,iElerium=20,iAlloys=30, iTime=10, iEng=30)
- ItemBalance=(eItem=eItem_IntWeap_VI, iCash=150,iElerium=20,iAlloys=30, iTime=10, iEng=35)
- ItemBalance=(eItem=eItem_IntConsumable_Hit, iCash=10, iElerium=0, iAlloys=0, iTime=0, iEng=5)
- ItemBalance=(eItem=eItem_IntConsumable_Dodge, iCash=50, iElerium=0, iAlloys=0, iTime=0, iEng=10)
- ItemBalance=(eItem=eItem_IntConsumable_Boost, iCash=20, iElerium=0, iAlloys=0, iTime=0, iEng=10)
- ItemBalance=(eItem=eItem_Elerium115, iCash=3, iElerium=1, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_AlienAlloys, iCash=2, iElerium=0, iAlloys=1, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_WeaponFragment, iCash=1, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_UFOPowerSource, iCash=75, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_UFONavigation, iCash=40, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_AlienFood, iCash=10, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_AlienEntertainment, iCash=17, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_AlienStasisTank, iCash=10, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_AlienSurgery, iCash=25, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_UFOFusionLauncher, iCash=125,iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedUFOPowerSource, iCash=30, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedUFONavigation, iCash=20, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedAlienFood, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedAlienEntertainment,iCash=5,iElerium=0,iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedAlienStasisTank,iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedAlienSurgery, iCash=10, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DamagedHyperwaveBeacon,iCash=45, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_SectoidCorpse, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_FloaterCorpse, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_ThinManCorpse, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_MutonCorpse, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_CryssalidCorpse, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_CyberdiscCorpse, iCash=7, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_SectopodCorpse, iCash=10, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_DroneCorpse, iCash=2, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_EtherealCorpse, iCash=15, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_SectoidCommanderCorpse,iCash=10, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_BerserkerCorpse, iCash=5, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_MutonEliteCorpse, iCash=8, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
- ItemBalance=(eItem=eItem_FloaterHeavyCorpse, iCash=6, iElerium=0, iAlloys=0, iTime=-1, iEng=-1)
EW: EXALT Weapons Base Balance Costs
To get the 'Base Balance Costs' for items not already listed in the DGC.INI (such as EXALT Weapons), prices are taken from XComStrategyGame.upk, class XGItemTree, function BuildItems. You can view decompressed '*.upk' files with UE Explorer. Open a file, click 'Objects' tab, then 'Classes' tab, use the search field at the bottom to filter XGItemTree. And if you open XComGame.upk, class XGItemLibrary explains where to get those numbers. They will appear as entries similar to this example:
Here is the ItemBalance list of the EXALT Weapons:
- ItemBalance_Easy=(eItem=eItem_ExaltAssaultRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Easy=(eItem=eItem_ExaltLMG, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Easy=(eItem=eItem_ExaltSniperRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Easy=(eItem=eItem_ExaltLaserAssaultRifle, iCash=2, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Easy=(eItem=eItem_ExaltHeavyLaser, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Easy=(eItem=eItem_ExaltLaserSniperRifle, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Easy=(eItem=eItem_ExaltRocketLauncher, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltAssaultRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltLMG, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltSniperRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltLaserAssaultRifle, iCash=2, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltHeavyLaser, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltLaserSniperRifle, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Normal=(eItem=eItem_ExaltRocketLauncher, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltAssaultRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltLMG, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltSniperRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltLaserAssaultRifle, iCash=2, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltHeavyLaser, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltLaserSniperRifle, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Hard=(eItem=eItem_ExaltRocketLauncher, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltAssaultRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltLMG, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltSniperRifle, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltLaserAssaultRifle,iCash=2, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltHeavyLaser, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltLaserSniperRifle, iCash=3, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
- ItemBalance_Classic=(eItem=eItem_ExaltRocketLauncher, iCash=1, iElerium=0, iAlloys=0, iTime=-1,iEng=-1)
FACILITIES Base Balance Costs
List of all the Facilities in the game and the BASE cost for them.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.- FacilityBalance=( eFacility=eFacility_AccessLift, iCash=50, iElerium=0, iAlloys=0, iMaintenance=10, iTime=5, iPower=-2)
- FacilityBalance=( eFacility=eFacility_ScienceLab, iCash=125, iElerium=0, iAlloys=0, iMaintenance=24, iTime=10, iPower=-3)
- FacilityBalance=( eFacility=eFacility_Workshop, iCash=130, iElerium=0, iAlloys=0, iMaintenance=26, iTime=10, iPower=-3)
- FacilityBalance=( eFacility=eFacility_SmallRadar, iCash=150, iElerium=0, iAlloys=0, iMaintenance=15, iTime=14, iPower=-5)
- FacilityBalance=( eFacility=eFacility_Power, iCash=60, iElerium=0, iAlloys=0, iMaintenance=11, iTime=5, iPower=6);MAKE SURE TO SYNC THIS WITH POWER_NORMAL
- FacilityBalance=( eFacility=eFacility_Foundry, iCash=75, iElerium=0, iAlloys=0, iMaintenance=20, iTime=10, iPower=-3)
- FacilityBalance=( eFacility=eFacility_OTS, iCash=125, iElerium=0, iAlloys=0, iMaintenance=25, iTime=8, iPower=-3)
- FacilityBalance=( eFacility=eFacility_AlienContain, iCash=85, iElerium=0, iAlloys=0, iMaintenance=18, iTime=7, iPower=-5)
- FacilityBalance=( eFacility=eFacility_LargeRadar, iCash=300, iElerium=0, iAlloys=25, iMaintenance=26, iTime=21, iPower=-8)
- FacilityBalance=( eFacility=eFacility_ThermalPower, iCash=200, iElerium=0, iAlloys=0, iMaintenance=23, iTime=8, iPower=20);MAKE SURE TO SYNC THIS WITH POWER_THERMAL
- FacilityBalance=( eFacility=eFacility_EleriumGenerator, iCash=275, iElerium=30,iAlloys=40, iMaintenance=29, iTime=14, iPower=30);MAKE SURE TO SYNC THIS WITH POWER_ELERIUM
- FacilityBalance=( eFacility=eFacility_PsiLabs, iCash=200, iElerium=20,iAlloys=20, iMaintenance=30, iTime=14, iPower=-3)
- FacilityBalance=( eFacility=eFacility_HyperwaveRadar, iCash=175, iElerium=0, iAlloys=10, iMaintenance=30, iTime=14, iPower=-4)
- FacilityBalance=( eFacility=eFacility_DeusEx, iCash=200, iElerium=10,iAlloys=10, iMaintenance=100,iTime=14, iPower=-5)
FOUNDRY PROJECT Base Balance Costs
List of all the Foundry Projects in the game and the BASE cost for them.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.- FoundryBalance=(eTech=eFoundry_SHIV, iTime=7, iEngineers=5, iCash=70, iElerium=0, iAlloys=0, iFragments=0, iNumItems=0, eReqTech=eTech_None,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_AlienGrenades, iTime=7, iEngineers=20,iCash=75, iElerium=10,iAlloys=25,iFragments=20,iNumItems=1, eReqTech=eTech_Exp_Warfare,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_SHIV_Heal, iTime=7, iEngineers=10,iCash=70, iElerium=15,iAlloys=15,iFragments=0, iNumItems=0, eReqTech=eTech_EMP, eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_CaptureDrone, iTime=14,iEngineers=10,iCash=175,iElerium=0, iAlloys=0, iFragments=20,iNumItems=4, eReqTech=eTech_AutopsyDrone,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_MedikitII, iTime=14,iEngineers=15,iCash=125,iElerium=0, iAlloys=0, iFragments=20,iNumItems=4, eReqTech=eTech_AutopsyThinMan,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_ArcThrowerII, iTime=14,iEngineers=10,iCash=100,iElerium=20,iAlloys=20,iFragments=20,iNumItems=4, eReqTech=eTech_Elerium,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_AmmoConservation, iTime=14,iEngineers=15, iCash=150,iElerium=0, iAlloys=90,iFragments=20,iNumItems=6, eReqTech=eTech_AutopsyMuton,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_AutomatedLasers, iTime=7, iEngineers=10, iCash=100,iElerium=0, iAlloys=30,iFragments=15,iNumItems=0, eReqTech=eTech_HeavyLasers, eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_AutomatedPlasma, iTime=7, iEngineers=20,iCash=200,iElerium=30,iAlloys=45,iFragments=30,iNumItems=0, eReqTech=eTech_Plasma_Heavy,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_AdvancedFlight, iTime=14,iEngineers=25,iCash=325,iElerium=50,iAlloys=50,iFragments=0, iNumItems=2, eReqTech=eTech_Armor_ArchAngel,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_AdvancedConstruction, iTime=14,iEngineers=30,iCash=375,iElerium=30,iAlloys=50,iFragments=20,iNumItems=2, eReqTech=eTech_AutopsySectopod,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_VehicleRepair, iTime=14,iEngineers=20,iCash=175,iElerium=10,iAlloys=30,iFragments=0, iNumItems=4, eReqTech=eTech_AutopsyHeavyFloater,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_PistolI, iTime=7, iEngineers=5, iCash=75, iElerium=0, iAlloys=0, iFragments=5, iNumItems=0, eReqTech=eTech_None, eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_PistolII, iTime=7, iEngineers=10,iCash=150,iElerium=0, iAlloys=20,iFragments=25,iNumItems=0, eReqTech=eTech_LaserWeapons,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_PistolIII, iTime=14,iEngineers=20,iCash=250,iElerium=20,iAlloys=20,iFragments=50,iNumItems=0, eReqTech=eTech_Plasma_Pistol,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_SHIVSuppression, iTime=7, iEngineers=15,iCash=40, iElerium=0, iAlloys=0, iFragments=0, iNumItems=0, eReqTech=eTech_None,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_StealthSatellites, iTime=7, iEngineers=20,iCash=150,iElerium=20,iAlloys=20,iFragments=0, iNumItems=3, eReqTech=eTech_AlienNavigation,eReqItem=eItem_None)
- FoundryBalance=(eTech=eFoundry_Scope, iTime=7, iEngineers=10,iCash=75, iElerium=0, iAlloys=0, iFragments=15,iNumItems=0, eReqTech=eTech_WeaponFragments,eReqItem=eItem_None)
OTS Base Balance Costs
List of the officer training school upgrades and the BASE cost for them.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.- OTSBalance=(eTech=eOTS_Will_I, iCash=200, eRank=eRank_Major)
- OTSBalance=(eTech=eOTS_SquadSize_I, iCash=50, eRank=eRank_Sergeant)
- OTSBalance=(eTech=eOTS_XP_I, iCash=125, eRank=eRank_Sergeant)
- OTSBalance=(eTech=eOTS_HP_I, iCash=150, eRank=eRank_Lieutenant)
- OTSBalance=(eTech=eOTS_SquadSize_II, iCash=75, eRank=eRank_Captain)
- OTSBalance=(eTech=eOTS_XP_II, iCash=250, eRank=eRank_Major)
- OTSBalance=(eTech=eOTS_HP_II, iCash=275, eRank=eRank_Colonel)
TECHS Costs
List of all researchable technologies in the game and the BASE cost for them.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.- TechBalance=(eTech=eTech_WeaponFragments, iTime=2, iAlloys=0, iElerium=0, iNumFragments=5, iNumItems=0)
- TechBalance=(eTech=eTech_AlienMaterials, iTime=2, iAlloys=0, iElerium=0, iNumFragments=5, iNumItems=0)
- TechBalance=(eTech=eTech_Exp_Warfare, iTime=3, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Xenobiology, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=4)
- TechBalance=(eTech=eTech_LaserWeapons, iTime=6, iAlloys=5, iElerium=0, iNumFragments=10, iNumItems=0)
- TechBalance=(eTech=eTech_PrecisionLasers, iTime=8, iAlloys=5, iElerium=0, iNumFragments=5, iNumItems=0)
- TechBalance=(eTech=eTech_HeavyLasers, iTime=8, iAlloys=5, iElerium=0, iNumFragments=5, iNumItems=0)
- TechBalance=(eTech=eTech_Plasma_Pistol, iTime=15, iAlloys=0, iElerium=5, iNumFragments=40, iNumItems=1)
- TechBalance=(eTech=eTech_Plasma_Light, iTime=17, iAlloys=0, iElerium=5, iNumFragments=40, iNumItems=1)
- TechBalance=(eTech=eTech_Plasma_Rifle, iTime=17, iAlloys=10, iElerium=10, iNumFragments=40, iNumItems=1)
- TechBalance=(eTech=eTech_Plasma_Heavy, iTime=17, iAlloys=10, iElerium=10, iNumFragments=40, iNumItems=1)
- TechBalance=(eTech=eTech_Plasma_Sniper, iTime=15, iAlloys=10, iElerium=10, iNumFragments=50, iNumItems=0)
- TechBalance=(eTech=eTech_Alloy_Cannon, iTime=15, iAlloys=25, iElerium=5, iNumFragments=40, iNumItems=0)
- TechBalance=(eTech=eTech_BlasterLauncher, iTime=20, iAlloys=20, iElerium=10, iNumFragments=75, iNumItems=0)
- TechBalance=(eTech=eTech_Plasma_Cannon, iTime=10, iAlloys=0, iElerium=10, iNumFragments=30, iNumItems=0)
- TechBalance=(eTech=eTech_EMP, iTime=20, iAlloys=0, iElerium=20, iNumFragments=0, iNumItems=40)
- TechBalance=(eTech=eTech_Fusion_Launcher, iTime=15, iAlloys=10, iElerium=20, iNumFragments=50, iNumItems=0)
- TechBalance=(eTech=eTech_ArcThrower, iTime=3, iAlloys=0, iElerium=0, iNumFragments=10, iNumItems=0)
- TechBalance=(eTech=eTech_BaseShard, iTime=3, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_AlienNavigation, iTime=5, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=2)
- TechBalance=(eTech=eTech_UFOPowerSource, iTime=7, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_Firestorm, iTime=15, iAlloys=10, iElerium=10, iNumFragments=75, iNumItems=0)
- TechBalance=(eTech=eTech_Elerium, iTime=7, iAlloys=0, iElerium=10, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Armor_Carapace, iTime=7, iAlloys=10, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Armor_Skeleton, iTime=10, iAlloys=15, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Armor_Titan, iTime=20, iAlloys=15, iElerium=5, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Armor_Ghost, iTime=17, iAlloys=15, iElerium=15, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Armor_ArchAngel, iTime=17, iAlloys=15, iElerium=15, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_PsiArmor, iTime=15, iAlloys=10, iElerium=10, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_Hyperwave, iTime=8, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_PsiLink, iTime=10, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateSectoid, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateFloater, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateMuton, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateThinMan, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateEthereal, iTime=10,iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateBerserker, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateMutonElite, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateHeavyFloater, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_InterrogateSectoidCommander, iTime=6, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=0)
- TechBalance=(eTech=eTech_AutopsySectoid, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyFloater, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyMuton, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyThinMan, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyCryssalid, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyEthereal, iTime=6, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyCyberdisc, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyDrone, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsySectopod, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyBerserker, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyMutonElite, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsyHeavyFloater, iTime=2, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
- TechBalance=(eTech=eTech_AutopsySectoidCommander, iTime=3, iAlloys=0, iElerium=0, iNumFragments=0, iNumItems=1)
Various other settings
[XComGame.XComPrecomputedPath]- BlasterBombSpeed=500.0f
Recent Discoveries
There have been a couple of recent (April-May 2013) discoveries that affect the need for or use of some of XCOM Modding tools. They are summarized here for reference.Phoning Home
When using mods, it is necessary to prevent each game from connecting to it's update servers behind your back. However, the DNS entry is clearly for a vendor specific address. This appears to be a vendor verifier (i.e. 'Firaxis Verifier', in this case) independent of those patches distributed via Steam. They may not be 'patches' per se, but merely replacements of certain files to ensure consistency. This is informally called 'phoning home' and initially was believed to be intended to be a Steam mechanism to prevent cheating in Multi-Player games. However, it has now been determined to affect single-player games as well.PatcherGUI (as of v5.2) includes options to 'Enable INI loading' and 'Disable phoning home' for you. This is the easiest and recommended method.If you use PatcherGUI, you can skip the rest of this sub-section. It's intended for those who have to deal with this manually.Those interested in the mechanism involved in this 'phone home' process are referred to the Class: IniLocPatcher - XCOM:EU 2012 article.This edit to the hosts file is not affected by Steam delivered patches or re-installing Steam and does not affect your ability to get updated when you go back to 'Online' mode for ANY reason (such as connecting to the Steam Store). Note this should be used in conjunction with disabling 'auto-updates' for your XCOM game in the Steam Library. Be aware, however, that since November of 2013 XCOM patches seem to disregard this Steam 'auto-updates' setting and have been known to apply regardless. Having a backup copy of your complete modded XCOM game tree current and available elsewhere is recommended as well.At present, the EU 'phone home' process is known to overwrite Armors, Characters, and Weapons arrays of the EXE internal resource cache version of the DefaultGameCore.INI file, and the ...My DocumentsMy GamesXCOM - Enemy Unknown file XComGameCore.INI file which is a merged copy from the DGC.INI and DLC content.- My GamesXCOM - Enemy UnknownXComGameLogsEMS
- XComDLC.ini (XComGame.XComDLCManager)
- XComGame.int (XComGame.XComDLCManager)
- XComGameCore.ini (overwriting Armors, Characters and Weapons arrays)
- XComMPGame.ini (overwriting a lot of MP related arrays)
These may be in My Games (if you have DLCs installed) or the <Steam install path> equivalent path, or both. If you are having problems with mods that alter one of these files not seeming to 'stick', check that your hosts file has the correct servers disabled according to the Launch.log as described below.To determine where your game attempts to communicate, you want to examine your My Games<Steam Game folder>LogsLaunch.log file. You are looking for lines similar to these:The entries marked like so are:- The Server IP address: 65.118.245.165
- The Server DNS Name: prod.xcom.firaxis.com
These are what you will place into the hosts file to block attempts to connect.- Start Menu > Right click on 'Notepad' (or any text editor), select 'Run as Administrator'
- File > Open > %systemroot%system32driversetchosts. The hosts file has no '.' suffix, so make sure you don't add .txt or anything else. Also, %systemroot% on most systems is C:Windows, but the exact folder name may vary by OS version. The value of the global environmental variable%systemroot% on your system can be determined by entering 'set' on the Windows command line, or as it's shortcut is called, the Command Prompt. But the variable %systemroot% (including the percent '%' signs) can safely be used without knowing it's actual value.
- Add these three lines to the hosts file:
- (The first line is a comment. The next two lines do the actual work, but are specific to XCOM:Enemy Unknown 2012. Other games may have their own DNS names [i.e. prod.xcom.firaxis.com] and IP addresses [i.e. 65.118.245.165]. The '127.0.0.1' IP address is a local loopback address the prevents attempts to connect to either of the other addresses from ever leaving your computer.)
- Save the file.
NOTE: The 'Enemy Within' (EW) expansion to XCOM:EU 2012 uses it's own DNS and IP address entries:However, early reports (13 Nov 2013) that disabling these addresses in hosts will prevent EW from launching have been attributed to other factors, such as failing to also disable 'auto-updates'. Save game synching with Cloud Storage still functions correctly, even with these addresses disabled.The XCOM-EW expansion is proof that other DNS and IP addresses can be utilized by the same or different games. Care should be taken to check the Launch.log file as outlined above for changes with each patch or major release.Disabling Hash checks
Enabling INI loading
PatcherGUI (as of v5.2) includes options to 'Enable INI loading' and 'Disable phoning home' for you. This is the easiest and recommended method. See also the INI Loading Test entry.The following is provided for background and those interested in the manual method.Most likely reason for any failure to load the DGC.INI is that (assuming you have the EW version of the game) you modified the DGC.INI in the wrong folder tree. EU is under 'XCom-Enemy-Unknown', while EW is under 'XCom-Enemy-UnknownXEW'.INI Loading Test
Try this to test that the loose DGC.INI file is loading:- Edit the DGC.INI as follows:
- Replace the Original 'eItem_Shotgun' line 'Properties[1]=eWPAssault' entry with '=eWP_Anyclass' as shown below. You can just copy and paste this SINGLE line with any text editor. (Save your '.BAK' file to restore the original DGC.INI.)
- Load any previous save where you are in the XCOM base (the Strategy game phase) or play a new game to that point, go into the Barracks, View Soldiers, and change the Loadout of a Support class (which couldn't without this change and doesn't have any other class restrictions that might prevent it, as is the case with a Heavy). The 'vanilla' DGC.INI that's in the embedded 'Resource cache' only permits an Assault to equip a Shotgun. With this change, any class can that doesn't have other built-in restrictions.
- Anyone other than an Assault class equipping a Shotgun proves you are loading the DGC from the correct 'config' folder.
INI file size limitations
Increased Load Times
Enemy Within
Extending/Replacing Functions
In early Dec 2013, wghost81 discovered it was possible to alter the UPK Package information so the game would utilize an expanded or replacement function of any size. This frees the mod creator from the constraint of keeping their code changes to within the original byte size limitations of the vanilla function, as well as providing the possibility to add new functions exclusive to your own mods. See the Hex editing UPK files article entry Hex editing III: Extending/Replacing Functions for details.
References
Referred to by this article:
That refer to this article:
- Similar to eWP_Assault, eWP_Heavy, and eWP_Support; Adds the 'Psi' class restriction to an armor, allowing the Psi class (bHasPsiGift=True) to equip it.
Armors=(ABILITIES[0]=eAbility_NONE,ABILITIES[1]=eAbility_NONE,ABILITIES[2]=eAbility_NONE,ABILITIES[3]=eAbility_NONE,Properties[0]=eAP_None,Properties[1]=eAP_None,Properties[2]=eAP_None,Properties[3]=eAP_None,iType=eItem_ArmorKevlar,iHPBonus=1,iDefenseBonus=0,iFlightFuel=0,iWillBonus=0,iLargeItems=1,iSmallItems=1,iMobilityBonus=0)
Characters=(iType=eChar_None,HP=1,Offense=0,Defense=0,Mobility=12,SightRadius=27,Will=0,Psionics=20,CritHitChance=0,CritWoundChance=0,FlightFuel=0,Reaction=0,ABILITIES[0]=eAbility_NONE,ABILITIES[1]=eAbility_NONE,ABILITIES[2]=eAbility_NONE,ABILITIES[3]=eAbility_NONE,ABILITIES[4]=eAbility_NONE,ABILITIES[5]=eAbility_NONE,ABILITIES[6]=eAbility_NONE,ABILITIES[7]=eAbility_NONE,Properties[0]=eCP_None,Properties[1]=eCP_None,Properties[2]=eCP_None,Properties[3]=eCP_None,Properties[4]=eCP_None,Properties[5]=eCP_None,bCanUse_eTraversal_Normal=False,bCanUse_eTraversal_ClimbOver=False,bCanUse_eTraversal_ClimbOnto=False,bCanUse_eTraversal_ClimbLadder=False,bCanUse_eTraversal_DropDown=False,bCanUse_eTraversal_Grapple=False,bCanUse_eTraversal_Landing=False,bCanUse_eTraversal_BreakWindow=False,bCanUse_eTraversal_KickDoor=False,bCanUse_eTraversal_JumpUp=False,bCanUse_eTraversal_WallClimb=False,bCanUse_eTraversal_BreakWall=False,eClass=eSC_None,bHasPsiGift=False)
Addendum: The player soldier seems to be the (Characters=(iType=eChar_Soldier) section, not character. All the new recruits and the soldier at the base DO NOT seem to use this statistic, check for the rookie section below.
The first segment is BASE stats that the character will have before any bonuses or penalties are applied. In the case of player Soldiers these stats are pulled for the initial soldiers you are given at the start of the game, and then modified with the difficulty setting bonus/penalties. However any additional soldiers you recruit appear to pull from a different set of stats altogether. This could be, and probably is, a bug in the main game code that may be fixed in a future patch.
- Changing 'eClass=eSC_None', of 'iType=eChar_Soldier', might set all your future recruits to be of a sinlge class. (please see below - SoldersStatProgression lines - for vaild class values.)
- If you want to mod XCOM Enemy Unknown (EU), run:
XCOMModHelper.exe -c EUConfig.xml
- If you want to mod XCOM Enemy Within (EW), run:
XCOMModHelper.exe -c EWConfig.xml
- You can alternatively edit the resource cache of XComGame.exe or XComEW.exe with tools like Resource Hacker, but editing text files is more comfortable and less likely to be overwritten by patches.
- <Steam Installation Path>SteamAppscommonXCom-Enemy-UnknownXComGameConfig for XCOM Enemy Unknown.
- <Steam Installation Path>SteamAppscommonXCom-Enemy-UnknownXEWXComGameConfig for XCOM Enemy Within.
Although it appears to be an integer value, ThinManPlagueSlider is actually a FLOAT
This does affect the probability of a ThinMan using Plague, but in a more subtle way. Abilities are prioritized based on dynamic circumstances, and each ability's priority is used as a weight for randomly selecting which ability will be performed.
Instead of the base hit chance, a modified form that gives a bonus for shooting at wounded targets is used:
Note it's necessary to change the FacilityBalance relatives to the generator if this value are modified.
NOTE THAT to even START checking, a country needs 5, so at a minimum there is a 50% chance a country will leave once the checking starts. (BALANCE Mode dependent.)
The AssetCost for each alien has no bearing on the difficulty of the alien, but seems to correlate with the complexity of the model/animation.
E.g. Sectoids are 100 points, Drones are 75 points, Outsider is 50 points, Sectopod is 75 points.This is used by the function CostAlienSquad(out TAlienSquad kSquad).
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.
Here is the ItemBalance list of the EXALT Weapons:
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.
BALANCE Mode / Game DIFFICULTY adjustments will be applied to these costs.
- XComDLC.ini (XComGame.XComDLCManager)
- XComGame.int (XComGame.XComDLCManager)
- XComGameCore.ini (overwriting Armors, Characters and Weapons arrays)
- XComMPGame.ini (overwriting a lot of MP related arrays)
- File > Open > %systemroot%system32driversetchosts. The hosts file has no '.' suffix, so make sure you don't add .txt or anything else. Also, %systemroot% on most systems is C:Windows, but the exact folder name may vary by OS version. The value of the global environmental variable%systemroot% on your system can be determined by entering 'set' on the Windows command line, or as it's shortcut is called, the Command Prompt. But the variable %systemroot% (including the percent '%' signs) can safely be used without knowing it's actual value.
- Add these three lines to the hosts file:
- (The first line is a comment. The next two lines do the actual work, but are specific to XCOM:Enemy Unknown 2012. Other games may have their own DNS names [i.e. prod.xcom.firaxis.com] and IP addresses [i.e. 65.118.245.165]. The '127.0.0.1' IP address is a local loopback address the prevents attempts to connect to either of the other addresses from ever leaving your computer.)
That refer to this article:
Retrieved from 'https://wiki.nexusmods.com/index.php?title=DefaultGameCore.ini_settings_-_XCOM:EU_2012&oldid=41481'
key review info
- Game: XCOM: Enemy Within
- Platform: PC
- Gamepad support: No
- Reviewed on:
- Show system requirements
Minimum system requirements
Windows Vista or better
2 GHz Core 2 Duo 2.4 GHz or Athlon X2 2.7 GHz or better
2 GB of RAM
256 MB NVIDIA GeForce 8600 GT or ATI Radeon HD 2600 XT or better
20 GB of free hard drive space
Recommended system requirements
Windows 7
2.4 GHz Quad Core CPU
4 GB of RAM
512 MB ATI Radeon HD 3000 Series or NVIDIA GeForce 9000 Series or better
20 GB of free hard drive space
Windows Vista or better
2 GHz Core 2 Duo 2.4 GHz or Athlon X2 2.7 GHz or better
2 GB of RAM
256 MB NVIDIA GeForce 8600 GT or ATI Radeon HD 2600 XT or better
20 GB of free hard drive space
Recommended system requirements
Windows 7
2.4 GHz Quad Core CPU
4 GB of RAM
512 MB ATI Radeon HD 3000 Series or NVIDIA GeForce 9000 Series or better
20 GB of free hard drive space
Video game developer Firaxis has already shown that it can deliver solid expansions with Brave New World and Gods & Kings for Civilization V, but neither of them comes close to changing the core game experience as Enemy Within does for XCOM: Enemy Unknown.
The team has made at least three major modifications to the core game formula while keeping its core elements intact, creating an experience that feels new and engaging but uses memories and nostalgia, as well, to create extra incentive to play.
XCOM: Enemy Within delivers heartbreak as agents die left and right in search for the resources required to power the war, some exquisite high-tension moments when the fate of entire engagements is linked to a sniper shot and plenty of victory celebrations when seemingly impossible situations are safely navigated.
Story
The core idea of XCOM: Enemy Unknown is unchanged: we are not alone in the universe and the aliens are a loose confederation of species that seem to focus all their energy on eliminating the human population of Earth so that they can mine it for resources.
The player leads XCOM, a vast but initially underpowered organization that aims to use alien tech to reverse the tide of battle.
From this position, a gamer needs to deal with funding, recruitment, upgrades, base building, missions selection and can then actually lead his troops in the field.
The biggest new narrative element in Enemy Within is EXALT, a new organization that also seeks to get access to alien technology but wants to use it to evolve a small portion of humanity.
Firaxis does a good job of quickly characterizing the new faction via the look of its agents and the actual missions design, but I would have liked to get more background information about them, their goals and how they related to the rest of the world.
In addition, the game missed an opportunity to launch a wider conversation about the effects that mechs and gene augmentation has on operatives and on the preservation of their own humanity, even as they fight to save their race.
Gameplay
The imagination of many players will be attracted to the possibilities that new mechanical and genetic soldier upgrades introduce to XCOM: Enemy Within, but the biggest game changer in the expansion is the two canisters of MELD that are dropped into missions.
Their characteristics are: easily destroyed by bullets, hidden until visual range is established, linked to a countdown timer that’s randomly assigned, crucial to the development of a solid combat force.
Their presence totally changes the rhythm of a typical mission because gamers now actively need to move forward in an adventurous manner, exposing troops to potential enemy ambushes, in order to get access to MELD.
Robot move
Sure, one can keep playing as one did in Enemy Unknown, but that means less new toys to play around with and an increased level of challenge because the aliens come complete with their own new units, including mechtoids, and EXALT also needs to be dealt with in order to keep donor countries satisfied.
Enemy Within feels more exciting, more alive because there’s more danger to deal with, but there are more rewards for those who make the right gambles and win.
Once MELD is acquired players can spend it, alongside regular money, to create mechs and to implement alien genes into their soldiers, creating a much more efficient alien killing force.
The mechanized soldiers instantly attracted my attention and two of them with flamethrowers became a center of my battle group.
They are not invincible and cannot use cover, yet they feel like a good way of taking the fight to the enemy, although I soon further discovered that gene upgrades coupled with the right equipment make more sense in the long run.
Enemy Within also introduces more maps to XCOM, which make the entire experience more enjoyable, and there are two unique missions that long-time fans of the franchise will love to play through because they involve bases and some unique situations.
And the team is adding a few other scripted missions, including a great one that has the player squad basically fighting for their lives, with apparently no hope for survival, and involving the best use of fish in strategy games.
All the new mechanics and resources are perfectly integrated into the core XCOM: Enemy Unknown core, and the extra variety in the first two thirds of the campaign means that most fans will gladly spend another hundred hours battling aliens and humans.
However, Firaxis fails to solve one big problem with the turn-based game: the huge importance of quickly setting up satellite coverage at the start of the campaign in order to avoid an early death spiral and get the resources needed to expand.
The game also suffers in the last third when the final assault against the aliens is set up and executed and the new tools make those final missions easier, losing much of their emotional punch.
But the mechs, genes, MELD and new tactical options they introduce are so interesting that it’s easy to forget that the campaign is basically the same and Enemy Within feels like the definitive version of the XCOM experience.
Graphics and audio
XCOM: Enemy Within is not the best-looking game on the market, but for the turn-based strategy genre, it creates a world that’s filled with bright colors, a clear science fiction theme and a user interface that always delivers the information players need.
This is clearly the same engine as in Enemy Unknown, with a few tweaks to take advantage of modern hardware, and some players might be disappointed with the lack of improvement.
Battle time
But Firaxis has clearly done a lot of work in order to make sure that all the new mechanics and content is seamlessly integrated into the game.
The even bigger achievement is the fact that Enemy Within manages to cram even more information into the soldier and the base screens, allowing players to easily manage their new resources and decide how to use them to upgrade their squad.
Enemy Within also adds a few effects associated with the new weapons and enemies, but the fundamental sound design for the game remains pretty much unchanged, doing a good job of underlining the important moments of the game without distracting the player from the action.
Multiplayer
The multiplayer of XCOM: Enemy Within makes good use of the new maps and fresh gameplay options but, as in the original version of the game, what sounds like a good idea ends up feeling like a perfunctory mode where that never manages to capture the imagination such as the single-player campaign does.
The Good
- MECs and gene augmentation
- New EXALT missions
- More maps
The Bad
Conclusion
XCOM: Enemy Within is a rare beast in the modern gaming world, a classic expansion that manages to improve the quality of the core game without disturbing the balance of the overall experience.The MELD and its use for mechs and gene improvements both make the tactics gameplay more interesting and more engaging and the increase in the number of maps means that there’s less grind towards the later stages of the campaign.
The presence of EXALT is also welcomed because it forces players to alter their approach, although I would have loved for the game to offer more details on their philosophy.
Enemy Unknown was a great video game, one of the best of last year, and XCOM: Enemy Within manages to make it relevant once again.
story 8
gameplay 9
concept 9
graphics 8
audio 7
multiplayer 6
final rating8
gameplay 9
concept 9
graphics 8
audio 7
multiplayer 6
final rating8
very good
NEXT REVIEW: Lego Marvel Super Heroes
Fresh Reviews
![](/uploads/1/2/5/8/125842316/990493345.jpg)