How to DIY common mod solutions - XCOM:EU 2012

From Nexus Mods Wiki
Jump to: navigation, search


Overview

This wiki article is aimed at describing solutions for the most commonly requested "Do It Yourself" (DIY) modifications to XCOM:EU/EW 2012.

The game developers put most parameters into the DefaultGameCore.ini file, commonly abbreviated to the DGC.INI. The Enemy Within (EW) DLC expansion moved even more to the INI files. Many of the following are simple changes to specific DGC.INI entries. For more detail about the various entries found in the DGC.INI, see the wiki article DefaultGameCore.ini settings - XCOM:EU 2012. That article and this should be your first stops when looking to make any change you think should be "easy".

Remember, to make any changes to DefaultGameCore.ini and DefaultLoadouts.ini take effect, you need to enable direct INI editing first (see below)! Other INI files, like DefaultMaps.ini, for example, are allowed to edit directly by default.

Programs and Tools

For detailed information see:

Details

Specific solutions are presented here.

  • XCOM:EU INI files are located in the <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\XComGame\Config\ folder.
  • XCOM:EW INI files are located in the <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\XEW\XComGame\Config\ folder.

Other solutions:

  • XCOM How To Master Guide by GothikaGeist is a downloadable archive with many of these and some other solutions from the wiki and forums, including code.

How to enable direct INI editing

This step is essential to get changes made to "loose" INI files read by the game instead of using the defaults embedded in the EXE "resource cache".

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.

Otherwise, here is how to do so manually.

For XCOM:EW:

1. Open XComEW.exe file, located in <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\XEW\Binaries\Win32\ with HxD.

2. Search for the string "XComGame\Config\DefaultGameCore.ini" as Unicode text, as follows:

HxD-search-box.JPG

3. Change the "XComGame" string to something like "YComGame".

YComGame.JPG

4. Repeat the search and change all other similar entries (should be two of them, one is actually a text message and affects nothing, but change both just to be sure).

5. Save file and quit HxD.

You may enable DefaultLoadouts.ini editing the same way, just search for XComGame\Config\DefaultLoadouts.ini in HxD.

INI files for EW are located in <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\XEW\XComGame\Config; you can edit all of them with Notepad.

For XCOM:EU you need to perform similar operations on <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\Binaries\Win32\XComGame.exe. INI files are located in <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\XComGame\Config.

If you don't see INI changes in game, disable "phoning home" as described in the Steam and mods article.

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-Unknown\XEW".

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.

How to enable UPK changes in XCOM:EU

XCOM:EU performs hash checks for some of the packages, like XComGame.upk and XComStrategyGame.upk. To disable it you need to edit XComGame.exe:

1. Open <Steam install path>\SteamApps\common\XCom-Enemy-Unknown\Binaries\Win32\XComGame.exe in HxD.

2. Search for the string "XComGame.upk" as non-unicode text:

HxD-search-text.JPG

3. Change the string "xcomgame.upk" to something like "ycomgame.upk":

HxD-ycomgameupk.JPG

4. Repeat same operation for the string "XComStrategyGame.upk".

5. Save file and quit HxD.

XCOM:EW does not require this, as the hash checks were removed by the developers.

How to disable Revealed Alien Cutscenes

  • For XCOM:EW:

NOTE: this only disabled the cinematic, not their movement into cover when revealed.

(This is in UPKUtils "PatchUPK/PatcherGUI" format.)

MOD_NAME=SkipRevealCinimatics
AUTHOR=wghost81 aka Wasteland Ghost
DESCRIPTION=Skip pod reveal cinematic

Version: 1.0
Compatible with XCOM "Enemy Within" versions: - all
UPK_FILE=XComGame.upk OBJECT=XComAlienPod.PlayActivatePodMatinee REL_OFFSET=0x99 MODDED_HEX=0B 0B 0B

Note: this mod disables cinematic only, aliens will still move when revealed. To disable reveal movement use No Alien Movement When Revealed mod which is also installed using "PatcherGUI".

How to disable Startup Movies

  • For XCOM:EW:
Navigate to My Documents\My Games\XCOM - Enemy Within\XComGame\Config\ and open XComEngine.ini with Notepad. Search for "StartupMovies=" lines and delete those you don't want to see (or comment them out with a ";" semicolon).
  • For XCOM:EU:
Same, but change "XComEngine.ini" located in My Documents\My Games\XCOM - Enemy Unknown\XComGame\Config\.

How to change the Cost/Requirements/Time for "things"

Just edit the DefaultGameCore.ini file, once you have enabled direct INI editing.

First, you need to determine the "balance category" of what you wish to change. Refer to the DefaultGameCore.ini_settings_-_XCOM:EU_2012 article for specifics. You can search that article using the bold part of these descriptions as your search string:

  • Soldier/NPC UNIT Balance: bonuses/penalties units get on the various difficulty settings, as well as stat increases related to leveling up and a few various other unit settings.
  • Country Funding Balance: funding you receive on a monthly basis from the various countries you have satellite coverage for, along with Continent bonuses.
  • BASE Balance Factors: Make it cost more/less resources to build "things" vs "BASE cost" depending on what you set these to; 1 being BASE, 2 being TWO times BASE, 0.5 being half base. and 0 being FREE.
  • Headquarters Balance Mode Values: Money you start with on all difficulty settings.
  • BALANCE Mode Panic Values: Panic added/reduced to country/continent for missed/aborted Abduction mission.
  • BALANCE Mode Panic Defection Chance: Amount of Panic levels for a country to leave the XCOM Project.
  • ITEM Base Balance Costs: List of all items in the game and the BASE cost for them.
  • FACILITIES Base Balance Costs: List of all the Facilities in the game and the BASE cost for them.
  • FOUNDRY PROJECT Base Balance Costs: List of all the Foundry Projects in the game and the BASE cost for them.
  • OTS Base Balance Costs: List of the Officer Training School upgrades and the BASE cost for them.
  • TECHS Costs: List of all researchable technologies in the game and the BASE cost for them.

Then edit the parameter you wish to change, i.e. "iCash=" to alter the "cash cost". Note the cost to purchase an item (see ITEM Base Balance Costs: "iCash=") is separate from the cost to research it (FOUNDRY PROJECT Base Balance Costs or TECHS Costs). Use a zero value to make something "free".

Remember that BASE costs are subsequently modified by the "Game Difficulty"/"Balance Mode" multipliers. This is discussed in the "Soldier/NPC UNIT Balance" section of the DefaultGameCore.ini_settings_-_XCOM:EU_2012 article.

How to put the Arc Thrower in the pistol inventory slot

For both EU/EW: Edit the DefaultGameCore.ini (DGC.INI) file and find the line:

Weapons=(iType=eItem_ArcThrower,ABILITIES[0]=eAbility_ShotStun,ABILITIES[1]=0,ABILITIES[2]=0,ABILITIES[3]=0,ABILITIES[4]=0,ABILITIES[5]=0, Properties[0]=0,Properties[1]=eWP_NoReload,Properties[2]=eWP_CantReact,Properties[3]=eWP_Secondary,Properties[4]=eWP_Backpack,Properties[5]=0, iDamage=0,iEnvironmentDamage=0,iRange=27,iReactionRange=-1,iReactionAngle=200,iRadius=0,iCritical=0,iOffenseBonus=0,iSuppression=0,iSize=eItemSize_Small,iHPBonus=0,iWillBonus=0)

Replace "Properties[0]=0" with "Properties[0]=eWP_Pistol", and "Properties[4]=eWP_Backpack" with "Properties[4]=0".

If you have problems with the Arc Thrower not showing up in the pistol slot after the above mod, or with the change not staying after initially appearing, your problem is that the game is "phoning home", which it attempts every time it is launched. If you are confident you have correctly made the changes to the "hosts" file described in Steam_and_mods, then you may need to make the change described in the article Class: IniLocPatcher - XCOM:EU 2012 as a last resort.

How to get the 'eAP_Grapple' property to work properly with any Armor

Tested only for EU.

Prerequisites:

  • INI files loading.
  • Ability to MOD UPK files - in particular XComGame.UPK.
  • You need to know just which XGArmor you want to modify! (By level I | II | III and Light | Medium -or- Psionic.)

Recommended Tools:

  • Unreal Engine Explorer (a.k.a. UE Explorer by Eliot van Uytfanghe); I used version 1.2.7.1.
  • UPKTools (a.k.a. PatcherGUI Author:wghost81 aka Wasteland Ghost); I used version 7.3.

The Issue (a.k.a "Bug"):
Only the armors "eItem_ArmorSkeleton" and "eItem_ArmorGhost" are properly initializing the "eSlot_Grapple".

Search for relevant Object Lines of desired Armor (i.e. "eItem_ArmorSkeleton" from "XComGame.UPK > XGArmor_LevelIILight.Init"):

kSlot = GetInventory().GetSlot(4); // sets reference variable "kSlot" to this Inventory Slot (i.e. hex"04").
kSlot.SetSlotLocation(4);          // Effectively adds (hex"04"=) "eSlot_Grapple" to this Armor Type.
kSlot.SetSize(2);                  // Sets the "eSlot_Grapple" size (hex"2C 02"=iSmallItems size).
kSlot.SetEnabled(true);            // Enables this Inventory Slot.

The UPKTools (a.k.a. PatcherGUI) pseudo-code for the above object lines are:

The most common error is a MemSize issue - in this case a MemSize issue will probably kick the "//return;" line out of the function.
If (when viewing the modded Init Function in XComGame.UPK via UE Explorer) you have groups of four lines, all in the proper sequence, and ending with a "//return;" line - You most probably have a successful patch.
Else (using UPKTools) uninstall your mod and review your text file to see if you can spot what you did wrong.

How to edit Perk Trees

For XCOM:EW you can edit perk trees directly in DefaultGameCore.ini. Open DefaultGameCore.ini with Notepad and search for the "[XComGame.XComPerkManager]" section. SoldierPerkTrees entries determine perk trees for soldier classes and MEC, PsiPerkTree entry determines the Psi tree and GeneModPerkTree entry determines the Gene Mod tree. RandomPerks entries determine perks, which can be randomized when using Second Wave Training Roulette option.

You can't change the number of available perk tree choices, however: i.e. you can't add a third choice like Corporal3 or add a second choice to the Major level.

Possible ePerk values are defined in enum EPerkType:

   ePerk_None,
   ePerk_OTS_XP,
   ePerk_PrecisionShot,
   ePerk_SquadSight,
   ePerk_GeneMod_SecondHeart,
   ePerk_LowProfile,
   ePerk_RunAndGun,
   ePerk_AutopsyRequired,
   ePerk_BattleScanner,
   ePerk_DisablingShot,
   ePerk_Opportunist,
   ePerk_Executioner,
   ePerk_OTS_Leader,
   ePerk_DoubleTap,
   ePerk_InTheZone,
   ePerk_DamnGoodGround,
   ePerk_SnapShot,
   ePerk_WillToSurvive,
   ePerk_FireRocket,
   ePerk_TracerBeams,
   ePerk_GeneMod_Adrenal,
   ePerk_FocusedSuppression,
   ePerk_ShredderRocket,
   ePerk_RapidReaction,
   ePerk_Grenadier,
   ePerk_DangerZone,
   ePerk_BulletSwarm,
   ePerk_ExtraConditioning,
   ePerk_GeneMod_BrainDamping,
   ePerk_GeneMod_BrainFeedback,
   ePerk_GeneMod_Pupils,
   ePerk_Sprinter,
   ePerk_Aggression,
   ePerk_TacticalSense,
   ePerk_CloseAndPersonal,
   ePerk_LightningReflexes,
   ePerk_RapidFire,
   ePerk_Flush,
   ePerk_GeneMod_DepthPerception,
   ePerk_BringEmOn,
   ePerk_CloseCombatSpecialist,
   ePerk_KillerInstinct,
   ePerk_GeneMod_BioelectricSkin,
   ePerk_Resilience,
   ePerk_SmokeBomb,
   ePerk_GeneMod_BoneMarrow,
   ePerk_StunImmune,
   ePerk_CoveringFire,
   ePerk_FieldMedic,
   ePerk_RifleSuppression_DEPRECATED,
   ePerk_GeneMod_MuscleFiber,
   ePerk_CombatDrugs,
   ePerk_DenseSmoke,
   ePerk_DeepPockets,
   ePerk_Sentinel,
   ePerk_Savior,
   ePerk_Revive,
   ePerk_HeightAdvantage,
   ePerk_Disabled_DEPRECATED,
   ePerk_ImmuneToDisable_DEPRECATED,
   ePerk_SuppressedActive,
   ePerk_CriticallyWounded,
   ePerk_Flying,
   ePerk_Stealth,
   ePerk_Poisoned,
   ePerk_CombatStimActive,
   ePerk_Implanted,
   ePerk_Panicked,
   ePerk_MindFray,
   ePerk_PsiPanic,
   ePerk_PsiInspiration,
   ePerk_MindControl,
   ePerk_TelekineticField,
   ePerk_Rift,
   ePerk_MindMerge,
   ePerk_MindMerger,
   ePerk_Hardened,
   ePerk_GreaterMindMerge,
   ePerk_GreaterMindMerger,
   ePerk_Evade,
   ePerk_Launch,
   ePerk_Bombard,
   ePerk_Leap,
   ePerk_Plague,
   ePerk_Poison,
   ePerk_BloodCall,
   ePerk_Intimidate,
   ePerk_FallenComrades,
   ePerk_Bloodlust,
   ePerk_BullRush,
   ePerk_HEATAmmo,
   ePerk_SmokeAndMirrors,
   ePerk_Rocketeer,
   ePerk_Mayhem,
   ePerk_Gunslinger,
   ePerk_GeneMod_MimeticSkin,
   ePerk_ClusterBomb,
   ePerk_PsiLance,
   ePerk_DeathBlossom,
   ePerk_Overload,
   ePerk_PsiControl,
   ePerk_PsiDrain,
   ePerk_Repair,
   ePerk_CannonFire,
   ePerk_Implant,
   ePerk_ChryssalidSpawn,
   ePerk_BattleFatigue,
   ePerk_OnlyForGermanModeStrings_ItemRangeBonus,
   ePerk_OnlyForGermanModeStrings_ItemRangePenalty,
   ePerk_Foundry_Scope,
   ePerk_Foundry_PistolI,
   ePerk_Foundry_PistolII,
   ePerk_Foundry_PistolIII,
   ePerk_Foundry_AmmoConservation,
   ePerk_Foundry_AdvancedFlight,
   ePerk_Foundry_ArcThrowerII,
   ePerk_Foundry_MedikitII,
   ePerk_Foundry_CaptureDrone,
   ePerk_Foundry_SHIVHeal,
   ePerk_Foundry_SHIVSuppression,
   ePerk_Foundry_EleriumFuel,
   ePerk_Foundry_MECCloseCombat,
   ePerk_Foundry_AdvancedServomotors,
   ePerk_Foundry_ShapedArmor,
   ePerk_Foundry_SentinelDrone,
   ePerk_Foundry_AlienGrenades,
   ePerk_PlasmaBarrage,
   ePerk_SeekerStealth,
   ePerk_StealthGrenade,
   ePerk_ReaperRounds,
   ePerk_Disoriented,
   ePerk_Barrage,
   ePerk_AutoThreatAssessment,
   ePerk_AdvancedFireControl,
   ePerk_DamageControl,
   ePerk_XenobiologyOverlays,
   ePerk_OneForAll,
   ePerk_JetbootModule,
   ePerk_ExpandedStorage,
   ePerk_RepairServos,
   ePerk_Overdrive,
   ePerk_PlatformStability,
   ePerk_AbsorptionFields,
   ePerk_ShockAbsorbentArmor,
   ePerk_ReactiveTargetingSensors,
   ePerk_BodyShield,
   ePerk_DistortionField,
   ePerk_GeneMod_AdrenalineSurge,
   ePerk_GeneMod_IronSkin,
   ePerk_GeneMod_RegenPheromones,
   ePerk_CovertPockets,
   ePerk_CovertHacker,
   ePerk_Medal_UrbanA,
   ePerk_Medal_UrbanB,
   ePerk_Medal_DefenderA,
   ePerk_Medal_DefenderB,
   ePerk_Medal_InternationalA,
   ePerk_Medal_InternationalB,
   ePerk_Medal_CouncilA,
   ePerk_Medal_CouncilB,
   ePerk_Medal_TerraA,
   ePerk_Medal_TerraB,
   ePerk_Dazed,
   ePerk_OnlyForGermanModeStrings_AimingAnglesBonus,
   ePerk_CatchingBreath,
   ePerk_Foundry_TacticalRigging,
   ePerk_SeekerStrangle,
   ePerk_ReinforcedArmor,
   ePerk_MindMerge_Mechtoid,
   ePerk_Electropulse,
   ePerk_OTS_Leader_Bonus,
   ePerk_OTS_Leader_TheLeader,
   ePerk_MAX

How to remove alien Aim and Crit bonuses for Classic and Impossible difficulty

You just need to edit DefaultGameCore.ini.

Unit stats modifiers for each difficulty level are set in corresponding BalanceMods_ entries. For Classic difficulty you have to edit BalanceMods_Hard and for Impossible edit BalanceMods_Classic entries.

Aim bonus is set in iAim variable; crit bonus — in iCritHit variable. Set both to 0 to match settings with those set in Easy and Normal difficulty.

How to change XP levels

You just need to edit DefaultGameCore.ini.

  • Soldier XP levels are set by m_iSoldierXPLevels entries
  • Psi XP levels are set by m_iPsiXPLevels entries.

How to make rockets 100% accurate

Edit DefaultGameCore.ini and change MIN_SCATTER=90 to MIN_SCATTER=100.

How to disable panicked friendly fire

Edit DefaultGameCore.ini and change SHOOT_WHEN_PANICKED=5 to SHOOT_WHEN_PANICKED=2.

The game rolls from 0 to SHOOT_WHEN_PANICKED-1, and if the roll result is less than HUNKER_DOWN_WHEN_PANICKED, the unit hunkers down; otherwise it shoots. So by setting SHOOT_WHEN_PANICKED to be less or equal to HUNKER_DOWN_WHEN_PANICKED you will disable firing and force hunker down.

How to lower Panic levels

(For more details about Keybinds, see the wiki article Keybind Commands - XCOM:EU 2012.)

This only works during the Strategy/"XCOM Base" portion of a game session, and as such is intended for development and debugging purposes. It works on a "per country" basis, where the country name is entered in lower case with the first letter capitalized (i.e. "Australia"). See the wiki article Console Commands - XCOM:EU 2012 for other command syntax.

  • For XCOM:EW:

Navigate to XEW/XcomGame/Config/DefaultInput.ini

Find [Engine.PlayerInput] in the file, and add:

.Bindings=(Name="F12",Command="LowerPanic")


Hit F12 and then check the Situation Room.

How to mod Panic levels

Edit DefaultGameCore.ini and search for ";Panic Values" (without quotes). Positive values increase panic; negative — decreases it.

Example: Disable Continental Abduction panic.

Change

PANIC_ABDUCTION_CONTINENT_EASY=1
PANIC_ABDUCTION_CONTINENT_NORMAL=1
PANIC_ABDUCTION_CONTINENT_HARD=1
PANIC_ABDUCTION_CONTINENT_CLASSIC=1

to

PANIC_ABDUCTION_CONTINENT_EASY=0
PANIC_ABDUCTION_CONTINENT_NORMAL=0
PANIC_ABDUCTION_CONTINENT_HARD=0
PANIC_ABDUCTION_CONTINENT_CLASSIC=0

How to stop nations from defecting

Edit DefaultGameCore.ini and search for this lines:

PANIC_DEFECT_THRESHHOLD_EASY=5
DEFECT_THRESHHOLD_NORMAL=5
PANIC_DEFECT_THRESHHOLD_HARD=5
PANIC_DEFECT_THRESHHOLD_CLASSIC=5
PANIC_DEFECT_THRESHHOLD_NOT_HELPED_EASY=5
PANIC_DEFECT_THRESHHOLD_NOT_HELPED_NORMAL=5
PANIC_DEFECT_THRESHHOLD_NOT_HELPED_HARD=5
PANIC_DEFECT_THRESHHOLD_NOT_HELPED_CLASSIC=5
PANIC_DEFECTIONS_PER_MONTH_EASY=1
PANIC_DEFECTIONS_PER_MONTH_NORMAL=2
PANIC_DEFECTIONS_PER_MONTH_HARD=3
PANIC_DEFECTIONS_PER_MONTH_CLASSIC=8
PANIC_DEFECT_CHANCE_PER_BLOCK_EASY=10
PANIC_DEFECT_CHANCE_PER_BLOCK_NORMAL=10
PANIC_DEFECT_CHANCE_PER_BLOCK_HARD=10
PANIC_DEFECT_CHANCE_PER_BLOCK_CLASSIC=10

Change "THRESHHOLD" values to something like 10, "DEFECTIONS_PER_MONTH" to 0 and "DEFECT_CHANCE_PER_BLOCK" to 0.

How to detect the UFOs that are carrying out abductions and terror missions

Open DefaultGameCore.ini, find ShowUFOsOnMission=0 and change it to ShowUFOsOnMission=1 You won't be able to see abduction UFOs anyway, because abductions only happen in countries with no satellites. But if you'll enable abductions in countries with satellite coverage (see XCOM Interface and Gameplay Tweaks mod), you will be able to detect UFOs with satellites.

An alternative way is editing of XComStrategyGame.upk file. There is a DetectUFO function inside checking Country, Satellites, and so on;
"if((class'XGTacticalGameCore'.default.ShowUFOsOnMission == 0) && (kUFO.m_kObjective.GetType() == 5) || kUFO.m_kObjective.GetType() == 6)"
prevents detection of UFOs on Abduction (=5) and Terror (=6) alien missions (by default, i.e. if ShowUFOsOnMission = 0). Hexadecimal code fragment including this check is
"16 38 3A 24 05 16 18 3D 00 9A 38 3A 19 19 00 D7 3C 00 00 09 00 3A 4C 00 00 00 01 3A 4C 00 00 0A 00 63 28 00 00 00 1B 93 13 00 00 00 00 00 00 16 38 3A 24 06 16 16 16" and can be found with HxD or another file editor. "16 38 3A 24 __05__ 16 18 3D 00 9A 38 3A 19 19 00 D7 3C 00 00 09 00 3A 4C 00 00 00 01 3A 4C 00 00 0A 00 63 28 00 00 00 1B 93 13 00 00 00 00 00 00 16 38 3A 24 __06__ 16 16 16" - here two numbers (5 and 6) are selected; they can be changed, say, both to 5 - ignoring of Abductors (as they don't appear at satellite covered territories anyway, see above) and catching UFOs on terror missions avoiding civilian victims.

How to increase PSI gift chance

Psi gift chance depends on soldier's will:

iChance = iTraineeWill/PSI_GIFT_CHANCE

PSI_GIFT_CHANCE is configurable via DefaultGameCore.ini: search for "PSI_GIFT_CHANCE=4" and modify it accordingly. PSI_GIFT_CHANCE is floating point variable, so you can set it to 0.01 and make psi change 100 times greater than trainee will.


If you want to make psi chance equal to soldier's will, set PSI_GIFT_CHANCE=1.

How to adjust Fast/Slow motion

(For more details about Keybinds, see the wiki article Keybind Commands - XCOM:EU 2012.)

  • For XCOM:EW:

Navigate to XEW/XcomGame/Config/DefaultInput.ini

Find [XComGame.XComTacticalInput] near the bottom of the file. Change slomo "x" to get different values: x<1 = slow, x=1 = normal, x>1 = fast Add:

.Bindings=(Name="NormalMotion",Command="slomo 1 | SetBind F3 FastMotion")
.Bindings=(Name="FastMotion",Command="slomo 10 | SetBind F3 NormalMotion")
.Bindings=(Name="F3", Command="FastMotion")

Change F3 to whatever key you want (make sure you change each line) and disable that key wherever it was previously defined in the same file with a semi-colon like this:

.Bindings=(Name="F3", Command="F3_Key_Press | onrelease F3_Key_Release", bPrimaryBinding=True)

How to adjust Pitch control

(For more details about Keybinds, see the wiki article Keybind Commands - XCOM:EU 2012.)

This cycles through different pitches. Parameters are FOV, Distance, & Pitch. You may want to change the distance to suit your needs. You can also set the pitch to various:

  • -90 is overhead,
  • 0 is parallel to ground,
  • 45 is looking diagonally up,
  • -45 is looking diagonally down.

Also note that after you use this command, you can still zoom in/out using normal methods, so the distance value isn't set in stone.

  • For XCOM:EW:

Navigate to XEW/XcomGame/Config/DefaultInput.ini

Find [XComGame.XComTacticalInput] near the bottom of the file. Add:

.Bindings=(Name="Pitch1",Command="setoverheadcameraparameters 90 1000 -90 | SetBind F2 Pitch2")
.Bindings=(Name="Pitch2",Command="setoverheadcameraparameters 90 1000 -45 | SetBind F2 Pitch3")
.Bindings=(Name="Pitch3",Command="setoverheadcameraparameters 90 1000 -30 | SetBind F2 Pitch4")
.Bindings=(Name="Pitch4",Command="setoverheadcameraparameters 90 1000 -5 | SetBind F2 Pitch1")
.Bindings=(Name="F2", Command="Pitch1")

How to change Rank names

For EU: in "XComGame\Localisation\INT\XComGame.int".

For EW: in "XEW\XComGame\Localisation\INT\XComGame.int".

Locate the section "[XGTacticalGameCoreNativeBase]", and find the entries beginning with "m_aRankNames". Change the string values as desired.

Then find and change the corresponding rank abbreviations beginning with "m_aRankAbbr". Bear in mind that rank abbreviation must be no more than four characters (including any punctuation such as periods).

Example: Vanilla values for EU.

m_aRankNames[0]="Rookie"
m_aRankNames[1]="Squaddie"
m_aRankNames[2]="Corporal"
m_aRankNames[3]="Sergeant"
m_aRankNames[4]="Lieutenant"
m_aRankNames[5]="Captain"
m_aRankNames[6]="Major"
m_aRankNames[7]="Colonel"
; NOTE TO LOCALIZERS:
; VERY IMPORTANT THAT THESE ARE NOT MORE THAN 4 CHARACTERS - sbatista
m_aRankAbbr[0]="Rk."
m_aRankAbbr[1]="Sq."
m_aRankAbbr[2]="Cpl."
m_aRankAbbr[3]="Sgt."
m_aRankAbbr[4]="Lt."
m_aRankAbbr[5]="Cpt."
m_aRankAbbr[6]="Maj."
m_aRankAbbr[7]="Col."
m_aPsiRankNames[0]="None"
m_aPsiRankNames[1]="Trainee"
m_aPsiRankNames[2]="Specialist"
m_aPsiRankNames[3]="Operative"
m_aPsiRankNames[4]="Volunteer"
m_aPsiRankAbbr[0]="None"
m_aPsiRankAbbr[1]="Trne."
m_aPsiRankAbbr[2]="Spc."
m_aPsiRankAbbr[3]="Opr."
m_aPsiRankAbbr[4]="Vol."

How to Rotate the Hologlobe

EW broke the ability to rotate the Hologlobe in the Situation Room on PCs. This has been patched by Amineri and is available in the mod XCOM Interface and Gameplay Tweaks, by wghost81 aka Wasteland Ghost.

For those who wish to customize or understand the solution: These keybinds in DefaultInput, [Engine.PlayerInput] will set up the functions keys to point to the five interceptor bases:

.Bindings=(Name="F1", Command="GlobeLookAt 0.2220 0.2680", bignorealt=true, bPrimaryBinding=True)
.Bindings=(Name="F2", Command="GlobeLookAt 0.3370 0.5910", bignorealt=true, bPrimaryBinding=True)
.Bindings=(Name="F3", Command="GlobeLookAt 0.5610 0.2020", bignorealt=true, bPrimaryBinding=True)
.Bindings=(Name="F4", Command="GlobeLookAt 0.5620 0.4870", bignorealt=true, bPrimaryBinding=True)
.Bindings=(Name="F5", Command="GlobeLookAt 0.8380 0.4000", bignorealt=true, bPrimaryBinding=True)

Note that only the original 16 Funding Council countries have the art assets to be displayed in the Situation Room. The ones that are listed here (by continent) are where Satellites can be placed. See the wiki article Enum Table of Countries - XCOM:EU 2012 for the complete countries and Funding Council tables.

Don't forget to remove the coordinates comma separator from the table when pasting into the Bindings "GlobeLookAt" entry.

Country Table
Enum Country Name Coordinates
0 USA 0.2170, 0.2830
15 Canada 0.2200, 0.1800
21 Mexico 0.2190, 0.3790
19 Brazil 0.3610, 0.5510
20 Argentina 0.3210, 0.6940
3 UK 0.4950, 0.2020
5 France 0.5060, 0.2400
4 Germany 0.5280, 0.2150
1 Russia 0.6100, 0.1760
7 India 0.7170, 0.3670
2 China 0.7870, 0.3100
6 Japan 0.8850, 0.2970
8 Australia 0.8730, 0.6150
18 Egypt 0.5810, 0.3510
25 Nigeria 0.5200, 0.4470
22 South Africa 0.5690, 0.6620

Weapons scaled down to 85%

Some people find the weapons "oversized". This mod scales them down for both sexes to 85% of the original. Original script by wghost81 scaling down to 85% for male pawns and 75% for females from the Nexus "Mod Talk" forum thread Big Guns for Girls.
Modified script by ViperCanel to 85% scale for both sexes in the same thread is presented here.

The following mod code can be installed with PatcherGUI:

 DESCRIPTION=Scales all weapons to 85%.
 Original script by Amineri, converted for PatcherGUI by wghost81.
 Modified script by ViperCanel to 85% scale for both sexes.
 Also added scale table of Bertilsson for easy customization.

 UPK_FILE=XComGame.upk
 OBJECT=XComUnitPawn.AttachItem

 [BEFORE_HEX]
 //if(bIsFemale && !IsA('XComMecPawn'))
 07 C9 00 82 2D 01 51 3D 00 00 18 0E 00 81 C5 21 E3 80 00 00 00 00 00 00 16 16 16

 //MeshComp.SetScale(0.750)
 19 00 71 3E 00 00 0F 00 00 00 00 00 00 1B EC 6E 00 00 00 00 00 00 1E 00 00 40 3F 16

 //Mesh.AttachComponentToSocket(MeshComp, SocketName)
 19 01 47 FD FF FF 1C 00 00 00 00 00 00 1C 6A FA FF FF 00 71 3E 00 00 00 74 3E 00 00 16

 //kFoundMeshComponent = MeshComp
 0F 48 72 3E 00 00 00 71 3E 00 00

 //MeshComp.SetLightEnvironment(LightEnvironment)
 19 00 71 3E 00 00 13 00 00 00 00 00 00 1C A0 FA FF FF 01 61 3D 00 00 16

 //MeshComp.SetShadowParent(Mesh)
 19 00 71 3E 00 00 13 00 00 00 00 00 00 1C 97 FA FF FF 01 47 FD FF FF 16

 //MeshComp.CastShadow = false
 14 19 00 71 3E 00 00 0A 00 F3 FE FF FF 00 2D 01 F3 FE FF FF 28

 //MeshComp.PrestreamTextures(1.0, true)
 19 00 71 3E 00 00 11 00 00 00 00 00 00 1C 7D FB FF FF 1E 00 00 80 3F 27 4A 16

 //0b
 [/BEFORE_HEX]

 [AFTER_HEX]
 //start 0x86
 //if(!IsA('XComMecPawn')
 07 EA 00 81 C5 21 E3 80 00 00 00 00 00 00 16 16

 //MeshComp.SetScale((bIsFemale ? 0.85 : 0.85)) // (female scale : male scale)
 19 00 71 3E 00 00 18 00 00 00 00 00 00 1B EC 6E 00 00 00 00 00 00 45 2D 01 51 3D 00 00 05

 // Scale code table: 00 1E 9A <scale code> (followed by 05/16 terminator byte)
 // Scale 1.50: 00 00 C0 3F
 // Scale 1.00: 00 00 80 3F (original male weapons)
 // Scale 0.95: 33 33 73 3F
 // Scale 0.90: 66 66 66 3F
 // Scale 0.85: 9A 99 59 3F
 // Scale 0.80: CD CC 4C 3F
 // Scale 0.75: 00 00 40 3F (original female weapons)

          00 1E 9A 99 59 3F 05 // set female weapons to 0.85 scale
          00 1E 9A 99 59 3F 16 // set male weapons to 0.85 scale

       // null ops required to maintain original code size
       00 71 3E 00 00 00 71 3E 00 00 00 71 3E 00 00 0B
 
 //Mesh.AttachComponentToSocket(MeshComp, SocketName)
 19 01 47 FD FF FF 1C 00 00 00 00 00 00 1C 6A FA FF FF 00 71 3E 00 00 00 74 3E 00 00 16

 //kFoundMeshComponent = MeshComp
 0F 48 72 3E 00 00 00 71 3E 00 00

 //MeshComp.SetLightEnvironment(LightEnvironment)
 19 00 71 3E 00 00 13 00 00 00 00 00 00 1C A0 FA FF FF 01 61 3D 00 00 16

 //MeshComp.SetShadowParent(Mesh)
 19 00 71 3E 00 00 13 00 00 00 00 00 00 1C 97 FA FF FF 01 47 FD FF FF 16

 //MeshComp.PrestreamTextures(1.0, true)
 19 00 71 3E 00 00 11 00 00 00 00 00 00 1C 7D FB FF FF 1E 00 00 80 3F 27 4A 16

 //0b
 [/AFTER_HEX]

How to customize Zhang

See the mod XCOM:EU Change Zhang's class. You can edit Zhang's Class, Rank, Aim, Will, and HP. The locations and acceptable values are clearly identified, so this is considered a 'simple' mod edit. Requires the UPKUtils/PatcherGUI tool set to install.

This simple mod (in PatcherGUI format) should enable all customization options for all special soldiers in EW:

UPK_FILE = XComStrategyGame.upk
OBJECT = XGCustomizeUI.UpdateMainMenu : AUTO
REPLACE_CODE=
0F 35 <XComGame.XGTacticalScreenMgr.TMenuOption.iState> <XComGame.XGTacticalScreenMgr.TMenuOption> 00 01 00 <.kOption> 26
:
0F 35 <XComGame.XGTacticalScreenMgr.TMenuOption.iState> <XComGame.XGTacticalScreenMgr.TMenuOption> 00 01 00 <.kOption> 25

How to Set the Alien Progression Rate for Long War(EW)

This simple mod (in PatcherGUI format) enables you to adjust how technologically advanced the aliens are by certain dates. Requires the UPKUtils/PatcherGUI tool set to install.

MOD_NAME=AlienProgressRateForLongWar
AUTHOR=eXquiSiT69
DESCRIPTION=Set Alien progression rate
/* This mod is for Long War for EW only.
   For information on "iMonth" and how it works, you can check this article: lw mechanics alien deployment.
   Here is the short explanation of how this mod works.

iMonth = (AR) / YourValue;
"AR" stands for "Alien Research" which represents how advanced the aliens are by a certain date (for example by "April 6" AR should be around AR~=36). "YourValue" is the value that you can set with this mod to your taste. By default, the value of "YourValue" = "28"; In this case "AR~=36" and "YourValue = 28"; => "iMonth = 36 / 28"; => "iMonth = 1" (decimals are not allowed). The greater the iMonth value, the more advanced become the aliens that you have to fight (mutons, cyberdiscs, etc. ) During the game, the AR value gets larger. Setting "YourValue = 56": makes alien progression twice as slow (i.e. "iMonth = 2"); Setting "YourValue = 84": triples the same slow down effect. The goal of this mini Mod is an easier and longer than normal game, with relaxed (not rushed) but still challenging gameplay. */ UPK_FILE=XComStrategyGame.upk OBJECT=XGStrategyAI.GetPossibleAliens /* Aliens Progression Rate: change 28 to whatever value you like between 28 and 250. The greater number makes the alien progression slower! Do not change anything except the number! You can use only integer values between 28 and 250; no floating-point values are allowed! */ ALIAS=AliensProgressionRate:<%b 28> // The default value is 28. This value is all you need to change. // modded code - do not change anything below this comment! REL_OFFSET=0x3A [MODDED_CODE] // local int iMonth; // iMonth = (STAT_GetStat(1)) / 28; 0F 00 93 52 00 00 91 1B 99 2E 00 00 00 00 00 00 24 01 16 2C <!AliensProgressionRate> 16


References

Referred to by this article:



That refer to this article:


  [[Category:Mods]