XCOM 2: The Legendary Super-Squad Mods

I promised I’d document my XCOM 2 tweaks. My goal, as stated elsewhere, was to create a “casual mode” for taking on Legendary levels of enemies in XCOM 2. It’s not the same as playing on “Rookie” difficulty, because in Rookie mode the enemies go easy on you (there’s a limit to how many will fire on you in a given round,) and the random number generator will start erring in your  favor if you really take a beating.

I wanted lots of tough, smart enemies, and I did not want them to back off if I screwed up. But I still wanted to be able to enjoy myself.

This is going to be much longer than most of my posts. Here we go!

This whole project¹ takes place in the Config folder for XCOM 2. On my machine it’s at C:\Program Files (x86)\Steam\steamapps\common\XCOM 2\XComGame\Config

This folder has around 40 files in it (as of now, anyway. More may be coming.) The key files for me were these:

  • DefaultClassData.ini—I tweaked HP, Hack, and Offense gains for each character class
  • DefaultGameData.ini—boosted the squad size
  • DefaultGameData_CharacterStats.ini—lots of small boosts for characters here
  • DefaultGameData_SoldierSkills.ini—reduced cooldown a little for the really neat stuff.
  • DefaultGameData_WeaponData.ini—lots of tweaks here. Lots.
  • DefaultGameData_XpData.ini—Reduced XP required to level up.

The very first thing I did was to duplicate the entire Config folder, and call the duplicate folder called “Config.bak.” That way if I broke anything, I could just swap the folders out and put the whole game back the way it was.

Ch-ch-ch-changes

Here are the changes I made. I’ve organized them by file, and while I have not listed every last modification I made, I’ve provided specific examples of each change so that even the most timid among us can confidently mod their game.

DefaultClassData.ini

I made lots of little changes here in order to make promotions give just a little bit more to the soldiers. The file has sections for each of the character classes (Ranger, Sharpshooter, Specialist, Grenadier,) and is further divided by each promotion they get. Here is the section that defines the various things a Ranger gets when becoming a squaddie:

; squaddie
SoldierRanks=( aAbilityTree=( (AbilityName="SwordSlice", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
 ), \\
 aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=1)),\\

The bolded line is where I made my change: I changed StatAmount=3 to StatAmount=4. The promoted Ranger gets a little bit more aim.

I boosted the Offense promotions for my Rangers and Sharpshooters, and gave my Specialists better Hacking bonuses.

This is where a Specialist is promoted to Corporal.

; corporal
SoldierRanks=( aAbilityTree=( (AbilityName="MedicalProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\
 (AbilityName="CombatProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) \\
 ), \\
 aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)),\\

I changed the bolded text so StatAmount=5 was StatAmount=10. I did this for each promotion, because the vanilla specialist, even fully tricked out, was never better than a bad crapshoot for the cool stuff. It was almost *always* a better idea to have the Specialist shoot than hack. With this tweak I turned my Specialists into hackers. Good times!

DefaultGameData.ini

This one eventually required an outside mod¹ because of interface problems. The MaxSoldiersOnMission line starts like this.

m_iMaxSoldiersOnMission=4

I made it look like this:

m_iMaxSoldiersOnMission=6

This meant I began the game with 6 soldiers instead of four. Once I bought squad size upgrades I was taking eight soldiers on each mission.

The additional two soldiers, #7 and #8, were auto-filled for me from the top of my soldier list, because the interface didn’t actually let me edit those two slots. I later installed the “Max Squad Size Fix” mod¹, which changed the UI, allowing me to choose everybody who came along (and their loadout.)

This change, more than any of the others, made the biggest difference for me. I was still always outnumbered, but after I bought the squad size upgrades I could treat my crew as two fire teams of four, and that was wonderful.

DefaultGameData_CharacterStats.ini

This was my second most important adjustment. I boosted the starting character stats so that rookies weren’t worthless, and so that flanking somebody made a real difference. The bold lines are the ones I wanted to change:

[Soldier X2CharacterTemplate]
CharacterBaseStats[eStat_HP]=5
CharacterBaseStats[eStat_Offense]=65
CharacterBaseStats[eStat_Defense]=0
CharacterBaseStats[eStat_Mobility]=12
CharacterBaseStats[eStat_SightRadius]=27
CharacterBaseStats[eStat_Will]=40
CharacterBaseStats[eStat_PsiOffense]=0
CharacterBaseStats[eStat_FlightFuel]=0
CharacterBaseStats[eStat_UtilityItems]=1
CharacterBaseStats[eStat_AlertLevel]=2
CharacterBaseStats[eStat_BackpackSize]=3
CharacterBaseStats[eStat_Hacking]=5
CharacterBaseStats[eStat_CritChance]=0
CharacterBaseStats[eStat_CombatSims]=0
CharacterBaseStats[eStat_HighCoverConcealment]=1
CharacterBaseStats[eStat_Strength]=0
CharacterBaseStats[eStat_FlankingCritChance]=50
CharacterBaseStats[eStat_FlankingAimBonus]=0
CharacterBaseStats[eStat_DetectionRadius]=9

Offense went to 75, Mobility went up by one to 13, Sight radius went to 29, and Flanking Aim Bonus went to 20.

Aim a little better, run a little faster, see a little further, and now it’s worth getting out there and flanking somebody.

I did not boost their HP. If I screwed up, I wanted to pay for it. Obviously I could have pushed all their abilities through the roof, but that would have sucked quite a bit of the fun out of the game for me.

DefaultGameData_SoldierSkills.ini

Cooldown was all I messed with here. Many missions didn’t run long enough for a soldier to get to use their high-level abilities more than once. Here’s the Sharpshooter section:

[XComGame.X2Ability_SharpshooterAbilitySet]
HITWHEREITHURTS_CRIT=10
STEADYHANDS_AIM_BONUS=10
STEADYHANDS_CRIT_BONUS=10
DEADEYE_COOLDOWN=3
DEADEYE_AIM_MULTIPLIER=0.25f
FACEOFF_COOLDOWN=4
FANFIRE_COOLDOWN=4
KILLZONE_COOLDOWN=4
SERIAL_COOLDOWN=5
SHARPSHOOTERAIM_BONUS=20

The bolded lines all got reduced to 3. My Sharpshooters got to be awesome more often, and I was more likely to use an ability early in a mission. I still had to wait to use it again, but I was less likely to get killed, or have a mission timer run out, while waiting.

If you dig through this file you’ll see that you can boost lots more than just cooldown times. Your grenadiers might not want an aim penalty for using Chain Shot, for instance. (Upon further consideration, I know your grenadiers don’t want that aim penalty. The question is whether you want it.)

DefaultGameData_WeaponData.ini

This is where I made the most changes. It’s also where I broke the game balance completely, and then backed off a bit and un-broke it.

Consider the section for the Assault Rifle:

AssaultRifle_Conventional_BaseDamage=(Damage=4, Spread=1, PlusOne=0, Crit=2, Pierce=0, Shred=0, Tag="", DamageType="Projectile_Conventional")
AssaultRifle_Magnetic_BaseDamage=(Damage=6, Spread=1, PlusOne=0, Crit=3, Pierce=0, Shred=0, Tag="", DamageType="Projectile_MagXCom")
AssaultRifle_Beam_BaseDamage=(Damage=8, Spread=1, PlusOne=0, Crit=4, Pierce=0, Shred=0, Tag="", DamageType="Projectile_BeamXCom")

I added 2 to each of the “Damage” values, and increased the Spread from 1 to 2. Now instead of doing 3-5 damage the conventional assault rifle did 4-8.  Sectoids and Officers still required two hits, but never needed three (far fewer “oh geez why won’t you die” moments.)

In my first pass I added 3 to each value, and that was too much, because far too many things could be killed with a single shot.

There’s a section like this for each of the weapons. Here’s some help with the terms, should you need it:

  • Damage: starting damage roll
  • Spread: random number to add or subtract from the roll
  • PlusOne: I don’t know, so I left it alone
  • Crit: Amount of damage to add if it’s a crit
  • Pierce: Amount of armor to ignore on a hit
  • Shred: Amount of armor to destroy on a hit

The place where I went a little crazy with no regrets was in the section for the Ranger Sword. At the top of the tech tree (“Beam”) I had doubled the damage, doubled the crit, and given it three points of Pierce. Why? Because I wanted the occasional opportunity to play Jedi Knight with the Reaper ability. SUCH FUN. Risky, too, but there wasn’t a 95% chance my Ranger would accomplish nothing and then die.

I watched part of a Twitch run where the player expressed the desire to do exactly that, and wished aloud for just such a mod. It’s a simple text edit on three lines of human-readable code.

Deeper in the file there’s a section labeled like this:

; ***** Core properties and variables for XCom weapons *****

Here you can give weapons an aiming bonus, a larger magazine size (it says “iClipSize” but we know it’s a mag), and change how much environment damage it does. I added one round to everybody’s mags, gave the sniper rifles an aiming bonus, and added some hack bonus to the gremlins. These are all pretty easy to find.

Still further in the same file, look for this:

; ***** Grenade Damage Arrays *****

And then lines like these:

FragGrenade_BaseDamage = (Damage=3, Spread = 0, PlusOne = 20, Crit = 0, Pierce = 0, Shred=1, Tag = "", DamageType="Explosion")

I bumped up the damage by two points, and the spread by one. Grenades could actually kill things, instead of just removing some cover, but they weren’t truly dependable.

Of course, I wanted to have more of them. Look for this block, and note the line I’ve bolded:

FragGrenade_iSoundRange = 30
FragGrenade_iEnvironmentDamage = 10
FragGrenade_iSupplies = 100
FragGrenade_TradingPostValue = 23
FragGrenade_iPoints = 0
FragGrenade_iClipSize = 1
FragGrenade_Range = 10
FragGrenade_Radius = 3

Maybe grenades actually DO come in an open-topped clip. Who knows? Whatever they come in, I edited this line so that now they come in twos.

This edit can be done with every grenade type. It makes grenadiers able to actually launch a crap-ton of grenades and be useful, rather than launching two and then wondering why they’re called “grenadiers” instead of “wildly inaccurate bullet-hoses.”

DefaultGameData_XpData.ini

Here’s the last set. I made changes here because I wanted to level up multiple soldiers and experiment with their ability trees. That’s pretty tedious with the defaults. Since I was playing on Legend (where there are lots of smart enemies) I edited this block:

; Legend difficulty
PerDifficultyConfig[3]=( \\
 RequiredKills[0]=0, \\
 RequiredKills[1]=1, \\
 RequiredKills[2]=8, \\
 RequiredKills[3]=18, \\
 RequiredKills[4]=40, \\
 RequiredKills[5]=70, \\
 RequiredKills[6]=110, \\
 RequiredKills[7]=175)

All I did was reduce each number by a little less than half. 1, 5, 12, 25, 50, 75, and 100 were the numbers I used. Lots more leveling up, and lots more experimentation with builds.

And that’s it

Those are the files I changed, and while I haven’t listed all of my changes in detail, I think I’ve provided enough information here that folks who would otherwise be afraid to dig into the INI files will be able to modify XCOM 2 in ways that make it more like whatever it is they actually feel like playing.

I have exactly zero desire to roll the settings back to their defaults and attempt Legendary mode. I’ve played that game, and it feels too much like a very miserable job, with rare moments of joy, and a high probability of getting fired. I understand that there are people who really dig that, but I’m not one of those people.

And I’m glad I don’t have to be in order to enjoy this game.

¹The “Max Squad Size Fix” mod is found here, if you’re a Steam user, and it lives here on Nexus. It’s possible that it will not be required in later iterations of XCOM 2. I cannot vouch for its stability or support, but I’m still using it as of this writing, and it has a 5/5 star rating from the user community.

London Has Fallen

LondonHasFallenClearly, Americans have gotten tired of seeing American landmarks blowing up in movies, because this film, the sequel to Olympus Has Fallen, featured London’s landmarks getting blown up in the sort of loving detail that has been standard popcorn-fare for recognizable American architectural stuff since Independence Day (the movie, not the holiday, although there are plenty of explosions then, too.)

It’s been a long time since I was in London. I confess, I didn’t know which buildings I was supposed to be rooting for. There was a bridge that I think may have been important, too, but I didn’t recognize it. I did notice that The Gherkin survived unscathed.

London Has Fallen spent a lot of time creating suspense for the things that we saw happening in the trailer. The build-up was pretty effective, except for the bit where they also tried to get me to care about too many of the characters. Oh, and except for the part where I knew what was coming. From the one trailer I’d seen, I knew that if the person on camera was a) a major world leader, and b) not the U.S. President or Gerard Butler, that person was going to die.

Sadly, the film flinched away from what could have been a really powerful bit of storytelling. There’s this moment where the U.S. President is uncomfortable with a particularly vicious bit of knife-work on the part of his one surviving bodyguard. And to be honest, that bit stepped across a couple of lines. It was brutal, and satisfying, and very wrong.

But we never came back to that moment. The President and his bodyguard never had a discussion about becoming what we behold, or keeping to principles even when it’s inconvenient. This was truly disappointing. I never feared for either character’s life, but the film could have made me seriously worry for their friendship, their sanity, and even their souls. But no. The film flinched.

Sure, I got all the asplodey eye candy I expected, and some genuine suspense regarding secondary, non-world-leader characters, but about an hour in, the movie promised me some soul-searching, which it utterly failed to deliver. Pro-tip: Don’t wreck an okay movie by promising an awesome moment you can’t, or won’t, deliver.

Olympus London Has Fallen enters my list at the bottom, and is this year’s first entry below the Threshold of Disappointment.

 

Zootopia

I went in to Zootopia knowing very little about it beyond the fact that it was computer animated “anthro.”

ZootopiaIt was delightful. I’ll be buying the Blu-Ray, because this is one of those films I’ll just want to have around the house forever.

I have no idea how the dyed-in-the-wool (pardon-the-pun) furry fans will feel about Zootopia, because I’m not really conversant in their culture. It is possible that furries will see the film as a re-tread of stuff they’ve been consuming, and creating, for decades. Or maybe they’ll find it fresh and wonderful. I don’t know.

Zootopia leaps across my Threshold of Awesome, and sits just under the only other film this year to make that leap, Kung Fu Panda 3. That movie is also anthropomorphic, and I’m not quite sure how I should feel about that, since I only noticed the correlation while writing this paragraph.

A Planet Mercenary Update

I just posted an update to the Planet Mercenary Kickstarter page. Here’s most of it:

We plan to ship in September 2016, rather than in May as originally planned. May is now impossible, and even July would mean rushing the editing and final layout phases. We don’t want to “rush” anything. We want this book to amaze and delight you. And now we plan for that delighted amazement to land in Autumn rather than Spring.

  • Backers can change their shipping addresses using their Backerkit links (email schlockmercenary@gmail.com, if you’ve lost your link. We’ll re-send it to you.)
  • This schedule should let us have PDFs out to all backers in July.
  • If you will be at GenCon in August, we will have a few advance copies for people to handle, but not to take home.

(Details on the schedule slip are below. Please don’t be distracted by this picture of an Ursumari and a Human)

Art by Rodolpho Langhi
Art by Rodolpho Langhi

Back in December we began working with Patrick Kapera, who is serving as our editor, and as an RPG expert who does not know the Schlock Mercenary universe. When Patrick joined us he was pleased to see that we were much closer to a finished product than he expected us to be. We were not, however, as close to a finished product as we thought we were.

At that point we expected that we would be sending things to our printer in April rather than February. Shipping to the printer in April would have meant that we could ship books to backers in July, and then have books to sell at GenCon Indy in August. During the last week of February, however, we carefully evaluated the progress we’d made, and realized that April wasn’t realistic.

Sandra and I decided immediately that we would not try to have the books at GenCon¹. That would have been terribly unfair to you, our backers, who wouldn’t receive your Planet Mercenary goodies until after people who bought them at the convention.

With this decision made, we knew that the earliest we could ship books to our backers would be September of 2016. We are now driving toward sending books to the printer by mid-June, and shipping things to backers 90 days later (it takes 90 days for our printer to turn around an order of this size.)

So where are we, really, in terms of the book?

  • Editing is 100% done on the Mayhem Cards and Mayhem rules. This means the cards can go to print now.
  • Editing is 75% done on the rules text.  These sections on character creation, basic rules, ship combat, charter rules, and equipment are by far the most time-consuming part of the editing, because there are words that must be used very precisely to avoid confusion.
  • Layout is running in parallel. As pages clear Patrick’s queue, they get final layout. Overall, the layout is only about 10% done, but every day more pages get finished.
  • Art is about half done. We took a long break when we realized that we needed much more layout finished before we could know what art to go get. During March, April, and May we’ll be grinding hard on the art.
  • The “fluff” text is about 75% done. Once Patrick reaches that stage, he and Howard will be blasting through it very quickly. Patrick’s job is to make sure that Howard tells players what they need to know while finishing the various worlds, cities, warrens, and Big-Dumb-Objects that will go into this book. In word-count terms, Howard probably has another 15,000 words to write. That’s about a week of work, once Howard knows which 15,000 words Patrick wants players to have.

It’s worth noting that one of the most popular elements of this project, the in-universe copy ofThe Seventy Maxims of Maximally Effective Mercenaries, is coming along nicely. Howard has about 3,000 words to write here, but we already have book-blanks in hand that are telling us we’ve picked the right paper, and the right aspect ratio for the pages.

There is a remote possibility that the 70MoMEM books will go to the printer early—far enough ahead of the core RPG book that we will be able to ship Maxim books separately. We’ll post an update if the print schedule and the shipping budget can be aligned to make that happen.

We’re sorry to slip the schedule, but we believe that the extra three months are necessary for us to deliver an RPG that meets the high standards you’ve come to expect from us. Thank you for your patience, and again, thank you for your generous, enthusiastic support for this project.

—The Planet Mercenary Team
Howard, Sandra, Alan, and Patrick

1: Yes, this decision costs us about $10,000 in lost sales at GenCon Indy. We budgeted this project independently of selling things at GenCon, so we’re not actually losing any money by doing this. We’ll find other things to sell in Indianapolis this August.

Writer, Illustrator, Consumer