This is a massive MegaOverhaul of XCOM 2 War of the Chosen, meant to be a pretty much complete package with the following design goals:
Currently the Mod is in beta, in a playable but feature incomplete, unbalanced and unpolished state.
Particularly, the not-implemented features (In this case: Not rebalanced/redesigned yet) so far include:
Also, Gotcha again overwatch indicators are unreliable for now. I plan on creating a version that matches the new OW behavior.
Here's a headline list of features of this mod
With some exceptions, shared concealment now breaks at the start of the 2nd turn.
Phantom is reworked to temporarily concealing yourself as a free action for 1 turn. (with 3 charges)
Enemy Detection ranges are severely decreased
Shadow is keeping its LWOTC Variant
Attachments have been rebalanced to:
Scope - Gain 5 aim, and reduce the long range non-squadsight penalties for weapons by 67%
Laser sight - Gain 10 crit and reduce the short range penalties for weapons by 67%
Hair trigger - After a miss, gain +25 aim and crit
Stock - Missed attacks have a 35% chance to become a graze. Your attacks ignore up to 10 dodge
Expended magazine - Gain +1 weapon capacity
Auto-loader - Grants quick reload - Reloads up to 2 ammo, non-turn ending
Suppressor - Gain 5 defense. Your first shot in a mission has +25/25 aim and crit.
Overwatch has been overhauled:
Similar to LWR overwatch rules, except it doesn't have covering fire by default. This is an important mechanic change because:
Makes sure not every mission is a spawn defense with podless
Makes reinforcements (RNF) something that you will have to deal with instead of just blowing up instantly
Makes overwatch strong without needing multiple overwatch perks beforehand
Suppression is now: Fire a barrage that pins down a target, reducing their action points by 1 (units unable to take cover are immune), restricting the use of many abilities, and imposing a 15 penalty to the target's aim. Grants an overwatch shot that deals half damage if the target moves.
These changes make suppression far more effective at locking down units, and far less effective at killing them.
Significantly Decreased the recovery time for light and medium soldier wounds
Will will no longer drop on enemy sightings - Instead, it drops a set amount per turn
Significantly Increased the recovery Time for shaken soldiers
Injury and Fatigue times are now seperate - In vanilla recovering from injuries made you remove fatigue instantly, which made fatigue irrelevant with lower wound times.
Assault - Specialist
Sharpshooter - Shinobi
Gunner - Technical
Reduced the amount of starting soldiers to 16 from 22 - compensates for the average soldier being far more useful, reduces overall mission density and soldier management, makes recruiting worth more
Injury recovery is faster
All Soldiers Autopromote every 24 hours to squaddies
Removed GTS train rookies slots (not needed anymore)
Introduced Xcom Training Program Unlocks:
XTP1: All Soldiers Autopromote to Lance Corporals (unlocked with first lieutenant)
XTP2: All Soldiers Autopromote to Corporals (unlocked with Major)
XTP3: All Soldiers Autopromote to Sergeants (unlocked with Colonel)
Vengeance: Unlocked with Trooper autopsy
Wet Work: Unlocked with Sectoid autopsy
Integrated warfare: Unlocked with Priest Autopsy
Lightning Strike: Unlocked with Spectre Autopsy
Stay with me: Unlocked with Chryssalid Autopsy
Vulture: Unlocked with Alien Encryption research
All soldiers now start as squaddies - Eliminates the boring rookie phase where your toolset was severely limited
All soldier trees have been redesigned to have their role defining tools/power spikes happen earlier in the tree than later - Makes the builds go online a lot sooner, and decreases the impact of losing higher ranked soldiers, and increases the ability to more easily replace them
Soldier base stats have been rescaled like this: 8 base HP 80 base aim 15 base mobility 40 base will
Soldier HP, Aim and Will growths have been completely removed - Makes sure cover is just as important early game as it is late
All soldier classes (except templars) now have access to the following "Universal" primary weapon categories: Assault rifle, Shotgun, SMG, Bullpup, Vektor, Grenade launcher
No longer has gauntlet, instead the technical has a rocket launcher secondary weapon, and is the only class that can equip a primary flamethrower called an immolator
Can Equip several new rocket types, detailed in the weapons section
Immolator allows to equip special canisters in the sidearm slot, detailed in the weapons section
You can find new class trees here.
More detailed enemy changes can be found here, I'll just present some more important changes here
Base Damage is 4/5/6/7/8 depending on weapon tier (from 4/5.5/7/8.5/10)
Primary Flamethrower, uses lw2 targeting
100% base damage, has 100% chance to set someone on fire
7 tile long, 5 tile wide
infinite ammo, but 2 only ammo capacity, in addition flamethrower has 2 turns cooldown.
T0 is availible at game start
T1 Is unlocked with Purifier autopsy
T2 is unlocked with Berserker autopsy
T3 is unlocked with Sectopod autopsy
Allows to equip canisters in the pistol slot
Immolator Attachments:
Wide Angle Nozzle - +2 cone width
High Velocity Nozzle - +1 cone length
Expanded Fuel Tank - +2 ammo capacity
Heat Resistant Tank - -2 cooldown on flamethrower
Fuel Line - +1 canister charge
Light Frame - reduced infiltration time
Outrider Frame - +1 weapon mobility, at the cost of -35% weapon damage
Holotargeting aim stays at 15
Holotargeting is now a free action with a 3 turn cooldown
Rapid targeting reduces the cooldown of holo by 1
Advanced holotargeter grants hidef holo
Elite holotargeter grants Vital point targeting
Rocket types:
Here are new Weapon Ranges:
LMG_ALL_RANGE[0] = -15
LMG_ALL_RANGE[1] = -15
LMG_ALL_RANGE[2] = -10
LMG_ALL_RANGE[3] = -5
LMG_ALL_RANGE[4] = 0
LMG_ALL_RANGE[5] = 4
LMG_ALL_RANGE[6] = 6
LMG_ALL_RANGE[7] = 8
LMG_ALL_RANGE[8] = 9
LMG_ALL_RANGE[9] = 10
LMG_ALL_RANGE[10] = 9
LMG_ALL_RANGE[11] = 8
LMG_ALL_RANGE[12] = 7
LMG_ALL_RANGE[13] = 6
LMG_ALL_RANGE[14] = 5
LMG_ALL_RANGE[15] = 4
LMG_ALL_RANGE[16] = 3
LMG_ALL_RANGE[17] = 2
LMG_ALL_RANGE[18] = 1
LMG_ALL_RANGE[19] = 0
LMG_ALL_RANGE[20] = -4
LMG_ALL_RANGE[21] = -8
LMG_ALL_RANGE[22] = -12
LMG_ALL_RANGE[23] = -16
LMG_ALL_RANGE[24] = -20
LMG_ALL_RANGE[25] = -24
LMG_ALL_RANGE[26] = -100
MID_LONG_ALL_RANGE[0] = -30
MID_LONG_ALL_RANGE[1] = -30
MID_LONG_ALL_RANGE[2] = -27
MID_LONG_ALL_RANGE[3] = -24
MID_LONG_ALL_RANGE[4] = -21
MID_LONG_ALL_RANGE[5] = -18
MID_LONG_ALL_RANGE[6] = -15
MID_LONG_ALL_RANGE[7] = -12
MID_LONG_ALL_RANGE[8] = -9
MID_LONG_ALL_RANGE[9] = -6
MID_LONG_ALL_RANGE[10] = -3
MID_LONG_ALL_RANGE[11] = 0
MID_LONG_ALL_RANGE[12] = 0
MID_LONG_ALL_RANGE[13] = 0
MID_LONG_ALL_RANGE[14] = 0
MID_LONG_ALL_RANGE[15] = 0
MID_LONG_ALL_RANGE[16] = 0
MID_LONG_ALL_RANGE[17] = 0
MID_LONG_ALL_RANGE[18] = 0
MID_LONG_ALL_RANGE[19] = 0
MID_LONG_ALL_RANGE[20] = -3
MID_LONG_ALL_RANGE[21] = -6
MID_LONG_ALL_RANGE[22] = -9
MID_LONG_ALL_RANGE[23] = -12
MID_LONG_ALL_RANGE[24] = -15
MID_LONG_ALL_RANGE[25] = -18
MID_LONG_ALL_RANGE[26] = -21
MID_LONG_ALL_RANGE[27] = -24
MID_LONG_ALL_RANGE[28] = -27
MID_LONG_ALL_RANGE[29] = -30
MID_LONG_ALL_RANGE[30] = -33
MID_LONG_ALL_RANGE[31] = -36
MID_LONG_ALL_RANGE[32] = -39
MID_LONG_ALL_RANGE[33] = -42
MID_LONG_ALL_RANGE[34] = -45
MID_LONG_ALL_RANGE[35] = -48
MID_LONG_ALL_RANGE[36] = -51
MID_LONG_ALL_RANGE[37] = -54
MID_LONG_ALL_RANGE[38] = -57
MID_LONG_ALL_RANGE[39] = -60
MID_LONG_ALL_RANGE[40] = -80
MEDIUM_ALL_RANGE[0] = 30
MEDIUM_ALL_RANGE[1] = 30
MEDIUM_ALL_RANGE[2] = 27
MEDIUM_ALL_RANGE[3] = 24
MEDIUM_ALL_RANGE[4] = 21
MEDIUM_ALL_RANGE[5] = 18
MEDIUM_ALL_RANGE[6] = 15
MEDIUM_ALL_RANGE[7] = 12
MEDIUM_ALL_RANGE[8] = 11
MEDIUM_ALL_RANGE[9] = 10
MEDIUM_ALL_RANGE[10] = 9
MEDIUM_ALL_RANGE[11] = 8
MEDIUM_ALL_RANGE[12] = 7
MEDIUM_ALL_RANGE[13] = 6
MEDIUM_ALL_RANGE[14] = 5
MEDIUM_ALL_RANGE[15] = 4
MEDIUM_ALL_RANGE[16] = 3
MEDIUM_ALL_RANGE[17] = 2
MEDIUM_ALL_RANGE[18] = 1
MEDIUM_ALL_RANGE[19] = 0
MEDIUM_ALL_RANGE[20] = -5
MEDIUM_ALL_RANGE[21] = -10
MEDIUM_ALL_RANGE[22] = -15
MEDIUM_ALL_RANGE[23] = -20
MEDIUM_ALL_RANGE[24] = -25
MEDIUM_ALL_RANGE[25] = -100
SAWED_OFF_RANGE[0]=60
SAWED_OFF_RANGE[1]=60
SAWED_OFF_RANGE[2]=20
SAWED_OFF_RANGE[3]=0
SAWED_OFF_RANGE[4]=-30
SAWED_OFF_RANGE[5]=-60
SAWED_OFF_RANGE[6]=-90
SAWED_OFF_RANGE[7]=-100
MIDSHORT_ALL_RANGE[0] = 45
MIDSHORT_ALL_RANGE[1] = 45
MIDSHORT_ALL_RANGE[2] = 35
MIDSHORT_ALL_RANGE[3] = 25
MIDSHORT_ALL_RANGE[4] = 15
MIDSHORT_ALL_RANGE[5] = 10
MIDSHORT_ALL_RANGE[6] = 7
MIDSHORT_ALL_RANGE[7] = 3
MIDSHORT_ALL_RANGE[8] = 0
MIDSHORT_ALL_RANGE[9] = 0
MIDSHORT_ALL_RANGE[10] = 0
MIDSHORT_ALL_RANGE[11] = 0
MIDSHORT_ALL_RANGE[12] = -3
MIDSHORT_ALL_RANGE[13] = -6
MIDSHORT_ALL_RANGE[14] = -9
MIDSHORT_ALL_RANGE[15] = -12
MIDSHORT_ALL_RANGE[16] = -16
MIDSHORT_ALL_RANGE[17] = -19
MIDSHORT_ALL_RANGE[18] = -22
MIDSHORT_ALL_RANGE[19] = -30
MIDSHORT_ALL_RANGE[20] = -45
MIDSHORT_ALL_RANGE[21] = -60
MIDSHORT_ALL_RANGE[22] = -75
MIDSHORT_ALL_RANGE[23] = -90
MIDSHORT_ALL_RANGE[24] = -100
MIDSHORT_ALL_RANGE[25] = -100
SHORT_ALL_RANGE[0] = 60
SHORT_ALL_RANGE[1] = 60
SHORT_ALL_RANGE[2] = 45
SHORT_ALL_RANGE[3] = 30
SHORT_ALL_RANGE[4] = 15
SHORT_ALL_RANGE[5] = 8
SHORT_ALL_RANGE[6] = 4
SHORT_ALL_RANGE[7] = 0
SHORT_ALL_RANGE[8] = 0
SHORT_ALL_RANGE[9] = -4
SHORT_ALL_RANGE[10] = -8
SHORT_ALL_RANGE[11] = -16
SHORT_ALL_RANGE[12] = -32
SHORT_ALL_RANGE[13] = -40
SHORT_ALL_RANGE[14] = -48
SHORT_ALL_RANGE[15] = -60
SHORT_ALL_RANGE[16] = -70
SHORT_ALL_RANGE[17] = -80
SHORT_ALL_RANGE[18] = -90
SHORT_ALL_RANGE[19] = -100
SHORT_ALL_RANGE[20] = -100
SHORT_ALL_RANGE[21] = -100
SHORT_ALL_RANGE[22] = -100
SHORT_ALL_RANGE[23] = -100
SHORT_ALL_RANGE[24] = -100
SHORT_ALL_RANGE[25] = -100
LONG_ALL_RANGE[0] = -40
LONG_ALL_RANGE[1] = -40
LONG_ALL_RANGE[2] = -36
LONG_ALL_RANGE[3] = -32
LONG_ALL_RANGE[4] = -28
LONG_ALL_RANGE[5] = -24
LONG_ALL_RANGE[6] = -20
LONG_ALL_RANGE[7] = -16
LONG_ALL_RANGE[8] = -12
LONG_ALL_RANGE[9] = -8
LONG_ALL_RANGE[10] = -4
LONG_ALL_RANGE[11] = 0
LONG_ALL_RANGE[12] = 0
LONG_ALL_RANGE[13] = 0
LONG_ALL_RANGE[14] = 0
LONG_ALL_RANGE[15] = 0
LONG_ALL_RANGE[16] = 0
LONG_ALL_RANGE[17] = 0
LONG_ALL_RANGE[18] = 0
LONG_ALL_RANGE[19] = 0
LONG_ALL_RANGE[20] = -2
LONG_ALL_RANGE[21] = -4
LONG_ALL_RANGE[22] = -6
LONG_ALL_RANGE[23] = -8
LONG_ALL_RANGE[24] = -10
LONG_ALL_RANGE[25] = -12
LONG_ALL_RANGE[26] = -14
LONG_ALL_RANGE[27] = -16
LONG_ALL_RANGE[28] = -18
LONG_ALL_RANGE[29] = -20
LONG_ALL_RANGE[30] = -22
LONG_ALL_RANGE[31] = -24
LONG_ALL_RANGE[32] = -26
LONG_ALL_RANGE[33] = -28
LONG_ALL_RANGE[34] = -30
LONG_ALL_RANGE[35] = -32
LONG_ALL_RANGE[36] = -34
LONG_ALL_RANGE[37] = -36
LONG_ALL_RANGE[38] = -38
LONG_ALL_RANGE[39] = -40
LONG_ALL_RANGE[40] = -42
LONG_ALL_RANGE[41] = -44
5hp, 2 armor, 5 ablative,
Exoskeleton Servos: This Unit's mobility cannot go below 13
-1 equipment slot
ShieldWall
Disorient: more or less the same, slighty lower aim penalty and no longer kills zombies
Poison: does not block any abilities, but has much more severe stat penalties than disorient and deals damage
Burn now blocks only standard shot, overwatch, and throw/launch grenade, everything else works
Acid burn: One of the few sources of shred, the game is getting changed so armor is overall rarer but shred is much, MUCH less common and harder to do
Track Two, who has provided a huge amount of advice and insight that saved me lots of time and ensured certain bugs got fixed at all.
The folks behind X2WOTCCommunityHighlander.
All the folks in XCOM 2 modders' Discord who have answered my questions.
All the authors of the mods that are integrated into this port:
The Long War 2 team for producing the mod in the first place!
Peter and Grobo as Main devs
Iridar for permission to use his More Psi Abilities, One Handed Templar, and sawn-off shotgun (from LW2 Secondary Weapons)
Musashi for permission to use his Ballistic Shields and throwing knives (from WotC Combat Knives).
InternetExploder for permission to use their Beam Grenade Launcher
Favid for permission to use abilities from the [WOTC] Shadow Ops Perk Pack and their [WOTC] Extended Perk Pack
Shiremct for permission to use abilities from [WOTC] Proficiency Class Pack
bstar for permission to use abilities from their perk pack
The Community Highlander team, as we rely heavily on its bug fixes and modding features
The various folks that have been submitting pull requests
The people that have provided translations for LWOTC:
The folks on XCOM 2 Modders Discord, who have been incredibly helpful at all stages of this project
All the folks that have been testing the development builds and providing feedback and issue reports
The actual list is too long, but here are the few important ones
Similarly, only the important ones
Threat assessment makes Aid protocol target go on overwatch
Shock therapy makes Blinding protocol have a 50% chance to stun the targets.
Chaining Jolt causes combat protocol to jump to up to 3 additional targets.
Installing the mod works exactly the same as normal lwotc, except you download it from here. You can find general instructions on LWOTC's wiki page.
You can grab a release from either the discord sercver, or release section in this repository (experimental ones get posted on discord, more stable ones here)
If you have some kind of trouble or Want to give feedback you can join LWOTC-R discord server, Or raise an issue in github
If you would like to contribute to translations for LWOTC, then check out the wiki page that explains how it works.
If you want to contribute changes to code or assets, then you will need to build the mod so that you can test them. Before you can do that, you need to set some things up:
Make sure you have the WOTC SDK full_content
branch installed - see the
xcom2mods wiki
for details on how to do that (plus lots of other useful information)
Fork this repository and then clone your fork locally, which you can do via Git for Windows (a command-line tool), GitHub Desktop, or some other git client tool
Once you have cloned the repository, you may need to pull the code for the embedded highlander. If the X2WOTCCommunityHighlander directory is empty, then use the command line from the project's root directory (the one containing this README.md):
> git submodule update --init
or whatever is the equivalent with the git client tool you are using.
Obtain the LWOTC-R media assets (video, graphics and sound) from this Dropbox link and unpack the resulting zip file into this project's WarOfTheChosenRebalanced directory. The link is not up to date with assets added in LWOTC-R, so you will also need to copy over the WarOfTheChosenRebalanced/Content directory from one of the released alpha builds.
Set up the following environment variables:
XCOM2SDKPATH
— typically <path to Steam>\steamapps\common\XCOM 2 War Of The Chosen SDKXCOM2GAMEPATH
— typically <path to Steam>\steamapps\common\XCOM 2\XCom2-WarOfTheChosen
Don't put these paths in quotes.Open a new command prompt after setting those environment variables and run the following from the LWOTC project directory:
> build-lwotc.bat -config default
(You can specify -config debug
to compile with debug info)
Compilation may fail with errors that certain classes variables and functions in the Community Highlander are private/protected, rather than protected/public. Edit the corresponding file within the X2WOTCCommunityHighlander directory and change variables from private->protected and functions from protected->public as needed to resolve each error.
You should also build this modified Community Highlander. Follow the most up to date instructions in that repository (CookCommunityHighlander.bat)
Once the highlander and LWOTC-R are built, you will be able to select them as local mods in Alternative Mod Launcher and run Long War of the Chosen Rebalanced.
Contributions are welcome. If you just want to raise issues, please do so on GitHub, preferably including a save file if possible.
If you wish to contribute to development — and this project will rely heavily on such contributions — then please look through the issues and if you want tackle one, just leave a comment along the lines of "I'll take this one". If you find you can't complete the issue in a reasonable time, please add another comment that says you're relinquishing the issue.
All contributions are welcome, but bug fixes are extremely welcome!