Mods (Long War)

From UFOpaedia
Jump to: navigation, search
Long War Main Page

Beginners Guide

Long War has made it easy for individual users to tweak parts of the game for their own preference. Unless otherwise noted, code changes occur in the DefaultGameCore.ini file; this is commonly referred to as the DGC.ini. For a typical Windows user, this file can be found at C:/Program Files x86/Steam/SteamApps/common(OR your username)/XCom-enemy-unknown/XEW/XComGame/Config. It is recommended that you download and use Notepad++ to alter defaultgamecore.ini because it is visually easier to use and numbers the lines (which may be referenced in this page).

Another useful tool is the free software WinMerge. WinMerge allows you to open two text files (like the DGC.ini) side by side and compare differences between them. This is useful when Long War is updated. To easily preserve the custom modifications you did on a previous version, open a backup copy of your old DGC.ini and the new updated version DGC.ini. WinMerge will help you quickly identify differences and apply all your previous modifications to the new Long War version.

Note for Linux and OS X users, you will need to modify XComGameCore.ini, which is located at ~/Library/Application Support/Feral Interactive/XCOM Enemy Unknown/XEW/MacInit/XComGameCore.ini for OS X and ~.local/share/feral-interactive/XCOM/XEW/WritableFiles/XComGameCore.ini for Linux. Some users suggest that you update ~/Application Support/Steam/SteamApps/common/XCom-Enemy-Unknown/XCOMData/XEW/XComGame/Config/DefaultGameCore.ini as well to be safe. You can use the built in program TextEdit or (better) TextWrangler.

Base Changes

Energy Changes

Alternative Fission and Thermo changes are proposed:

________________Pwr__Cost__Cost/Pwr_____
Fission Current --- 6 --- $120 --- $20.00
Fission Change --- 8 --- $150 --- $18.75

Thermo Current -- 25 -- $350 --- $14.00
Thermo Change -- 20 -- $300 --- $15.00

In addition, increase Adjacency bonus from +3 power to +4.

With this, Fission is still less efficient than a thermo, however players shouldn't feel like they are getting an extra difficulty tacked on because they didn't get a good steam vent. Now if there is a good steam vent, it's simply a bonus. To change these options, examine lines 1395 and line 1800.

Start Date Change

To start the campaign at a different date than March 1st. Change the value found in defaultgamedata.ini

Appearance Changes

How to Remove the Gene Mod Armor:

This will replace the gene mod armor with a sleeved chest plate. However, said chest plate was designed to have shoulder pads, which are missing, so there will be a noticeable gap with either gene mods or those who use tactical vests instead of tactical armor. The gap is textured, so it won't break any models. You can still add shoulder pads by using decos ingame.

Use CTRL + F To find the following

UnitPackageInfo=(PawnType=ePawnType_Male_1_Kevlar_GM,ArchetypeName="Soldier_MaleKevlar_GM.ARC_MaleKevlar_GM")

Remove both GMs from "Soldier_MaleKevlar_GM.ARC_MaleKevlar_GM"

Now the game will read the normal armor instead of the GM version. 
You can choose to do this to specific models, or use find and replace to change them all. 
To use find and replace, I recommend you find _GM" and _GM. and replace them with " and . respectively.

How to change default color, and headgear.

In your DefaultGameCore.ini file, you'll be able to find lines that alter the rookie's starting color, and headgear, as well as the first time they are promoted to a class. Acceptable values, and their definitions, can be found here. http://wiki.tesnexus.com/index.php?title=Initial_soldier_appearance_-_XCOM:EU_2012#Tables (< Someone hyperlink that for me, please.)

Note that you must make these changes before starting a new game for them to take effect.

If you press "CTRL + F", you will open up the find menu. Locate the comment;

; Initial soldier appearance

and you will find directly below it;

DEFENDER_MEDIKIT	= 6		; Rookie armor color: Sets the initial color of rookie armor; stay within default range (0..32)
COUNCIL_STAT_BONUS	= -1	; Rookie armor deco; -1 is default; for other basic kevlar variants, try 67 through 79; otherwise you may see high-tech armor images (not all numbers work on all computers; if you get lockups, change back to -1)
ShowUFOsOnMission	= -1	; Rookie headgear; See readme for acceptable values. This will overwrite any randomized hair. Set to -1 for no change.

Use the values linked above to find exactly what you want. 
To change the promotes, find the following lines directly below the rookie's section, and change the numbers to any value between 0-32 or -1 for no change.

; One-time deco color and headgear change upon selection of soldier class; set to -1 for no change. See Armor Kit codes text file in EW directory for acceptable values. Do not reorder these entries!
HQ_BASE_POWER = 32			; Sniper Color
HQ_BASE_POWER = -1			; Sniper Headgear
HQ_BASE_POWER = 15			; Scout Color
HQ_BASE_POWER = -1			; Scout Headgear
HQ_BASE_POWER = 12			; Rocketeer Color
HQ_BASE_POWER = -1			; Rocketeer Headgear
HQ_BASE_POWER = 9			; Gunner Color
HQ_BASE_POWER = -1			; Gunner Headgear
HQ_BASE_POWER = 29			; Medic Color
HQ_BASE_POWER = -1			; Medic Headgear
HQ_BASE_POWER = 22			; Engineer Color
HQ_BASE_POWER = -1			; Engineer Headgear
HQ_BASE_POWER = 21			; Assault Color
HQ_BASE_POWER = -1			; Assault Headgear
HQ_BASE_POWER = 19			; Infantry Color
HQ_BASE_POWER = -1			; Infantry Headgear

Please note, that any text after a ; is a comment, and editing anything past them will do nothing.

MECs earn variable XP for kills

This change requires Hex Editor.

  • Open XComGame.upk file in \Steam\SteamApps\common\XCom-Enemy-Unknown\XEW\XComGame\CookedPCConsole folder with HxD
  • Search -> Find -> Datatype Hex-Values: A0 00 E7 85 00 00 38 3F 2C 02 16
  • Replace 02 with 01.

This will change the penalty. Setting it to 03 will give them 1/3rd of XP for kills.[1]

INI Meld editing

Item Costs

Costs in engineering can be edited in the DefaultGameCore.INI file. As you most limited resource will probably be Meld, and the way the data is in the .ini file, this will help your inner engineer's itch to want to build items. Beginning about halfway down, you will start to see "iElerium=" lines. Comments helpfully point out that these are both the Meld and Elerium entries. You may want to keep an untouched INI file and/or use the UFOPaedia's pages as references. Now for editing:

As you can see in the Armor section, the MEC suits of Warden, Sentinel, and Paladin cost, respectively, 20 meld and 20 Elerium, 40 Meld and 30 Elerium, 60 meld and 50 Elerium for their fabrication costs (on top of credits and alloys). In the .ini file, they are, again respectively, simply labeled "; MEC-1", "; MEC-2", "; MEC-3". Now see that the "IElerium=" values are, once more respectively, 20020, 40030, 60050. As you can see, there is a placeholder 0 in any given iElerium entry-- for any item that has a Meld cost. As this section focuses on just meld editing, this won't be editing the Elerium cost (and will assume you won't, as you don't want to make the Long War _too_ easy). Therefore, you will only be editing the value in front of the placeholder 0.

Ergo: changing 20020, 40030, 60050 to, say, 5020 (note it goes from 5 to 4 intergers), 20030, 30050 would change the meld costs of Warden armor from 20 to 5 units of Meld, Sentinel from 40 to 20, and Paladin from 60 to 30 (while not changing the Elerium costs). Again, note that changing the Warden's "20" to "5" -- and not "05" -- in front of the 'placeholder' 0 will reduce the cost from 20 to 5 units of Meld. This method works on all the "iElerium=" entries under the "; Gear" list.

Near the bottom of the file, you will find "; Gene Mod Configuration". Depending on your choice of editor, the entries may not line up, so be aware that in this section, "iAlloys=" is the variable set for Meld cost for gene mods. As these variables are more simply written, merely edit them to your desired cost. And for reference, "iTime=" entries are for how long each mod requires a soldier to be inside the Gene Lab's tanks, and "iEng=" are the penalty hours added to fatigue.

Meld Expiration Timer

In DefaultRandomSpawns.ini

You will find the lines:

[XComLZMutator.XComMeldSpawnMutator]

NumContainers = 3 DestroyedOnTurn = (DistToPlayer / (96 * 8)) * EqSlope + EqConst (96 * 8 - mobility in UU) EqSlope = 1.5

EqConst = 1

By increasing the number after EqSlope (default 1.55), you can increase the number of turns it takes before meld expires.

Second Wave Option Changes

Aiming Angles

It may be the case that 90 degrees is too small of an arc for cover to provide full protection, so we can cut the aiming angle down to 30 degrees. This gives your cover a 120 degree arc in which it provides full protection, so you can easily fight enemies so long as you're not stupid about picking your cover.

You can change the settings in defaultgamecore.ini, and there is a diagram in there to help explain it:

; Top down view
;
;     B  
;      \ 
;       \
;  A-----^
;        T
;
; T is a target with cover in the direction of '^'.
; A is a shooter with the maximum aiming angle aim bonus 
; B is a shooter with the minimum aiming angle aim bonus
; The aiming angle bonus increases linearly in the angle range between A and B
SW_AIMING_ANGLE_THRESHOLD= 30.0f; 45.0f; SW_AIMING_ANGLE_THRESHOLD defines the angle between segment TA and TB - its valid range is 0-90
SW_AIMING_ANGLE_MINBONUS=5      ; Shooter B's aiming angle bonus is SW_AIMING_ANGLE_MINBONUS
SW_AIMING_ANGLE_MAXBONUS=-5     ; Shooter A's aiming angle bonus is [T's Cover Bonus + SW_AIMING_ANGLE_MAXBONUS]

The option for 45 degrees is commented out, and replaced it with 30 degrees. With these settings, 30 degrees to parallel (60 degrees off of perpendicular), gives a +5 to hit. Just shy of the 90 degree flank, it's +(coverbonus - 5) to hit.

Red Fog

Mobility Penalty

Q: Given that the mobility penalty in the DGC.ini is listed in the format "6.0f", what does this mean?

A: It means that at most there is a -6 mobility penalty that would be applied at 0% health. Since it can't hit 0% health, effectively the worst mobility penalty achievable is -5 mobility if severely wounded. This value is measured in meters, the same scaling units that are shown in the barracks view. The mobility stat is an integer value measured in meters, and each tile is 1.5 meters x 1.5 meters, so 5 mobility = 3.33 tiles roughly.

Both the aim and mobility red fog penalties are subtractive, not multiplicative.

For example, the poison/acid mobility debuff is a 25% multiplicative penalty. The unit loses 25% of its maximum movement, so a unit with 14 mobility would have 14 * 0.75 = 10.5 rounded down to 10 mobility, which is effectively -4 mobility.

The %-based mobility penalties are: Mindfray - 50% mobility penalty Flashbang - 40% mobility penalty Poison/acid - 25% mobility penalty Catching breath - 75% mobility penalty

All %-based mobility penalties are applied AFTER the additive/subtractive mobility modifiers (Red Fog, perks, inventory).

Thus to make Red Fog carry more significant movement penalty:

   Search for SW_COVER_INCREASE and edit it to =9.9f

Weapon and Item Changes

The MEC Nuclear Option

For players that are not too fond of the grenade launcher for the MEC, they can switch its functionality to a last-ditch-option onboard nuclear reactor overload weapon. Find the line in defaultgamecore.ini that begins: Weapons=( strName="", iType=eItem_MecGrenadeLauncher,

And replace the entire line with:

Weapons=( strName="", iType=eItem_MecGrenadeLauncher,       ABILITIES[0]=eAbility_MEC_GrenadeLauncher, 	ABILITIES[1]=0,                      ABILITIES[2]=0,                     ABILITIES[3]=0,                  ABILITIES[4]=0,             ABILITIES[5]=0,             Properties[0]=eWP_Mec, 		Properties[1]=eWP_Secondary,     Properties[2]=eWP_NoReload,      Properties[3]=eWP_Explosive, Properties[4]=0,               Properties[5]=0,        iDamage=275,  iEnvironmentDamage=750, iRange=1,  iReactionRange=30, iReactionAngle=200, iRadius=700,  iCritical=0,  iOffenseBonus=0,  iSuppression=0,  iSize=eItemSize_Large, iHPBonus=0, iWillBonus=0 ) 

By loading out the grenade launcher on a MEC, this will give you an option to overload the MECs (hypothetical) nuclear reactor resulting in a massive explosion that is guaranteed to kill/destroy everything (including the MEC) in a wide radius surrounding the MEC. Use only in cases of extreme clusterfuck/heroism.

Arc Thrower

With the release of B15, the code required for a pistol slot Arc Thrower is included in the DGC.ini. To make the change, all you need to do is comment out (add a ";") the default line for the arc thrower and remove the comment located several lines lower. Essentially you tell the game to stop reading the default line of arc thrower code and begin reading the pre-built code enabling the pistol slot. It is explained in the comments of the DGC.ini.

It is possible to equip the arc thrower as a pistol. Adjust the default line

Weapons=( strName="", iType=eItem_ArcThrower, ABILITIES[0]=eAbility_ShotStun, ABILITIES[1]=0, ABILITIES[2]=0, ABILITIES[3]=0, ABILITIES[4]=0, ABILITIES[5]=0, Properties[0]=eWP_AnyClass, 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=30, iReactionAngle=200, iRadius=0, iCritical=0, iOffenseBonus=0, iSuppression=0, iSize=eItemSize_Small, iHPBonus=0, iWillBonus=0 )

to allow for pistol slot only

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

(Properies[5] of the Arc Thrower item was set to eWP_Pistol)

To increase the range of the Arc Thrower to normal vision range, replace line 1673 in DefaultGameCore.ini with this:

Itembalance_Normal=(eItem=eItem_ArcThrower,					iCash=100,	iElerium=0,		iAlloys=94000,		iTime=10,	iEng=20)

(The iAlloys field for the Arc Thrower item was set to 94000)

Remember that each item has 2 different listings.

iceofwolf's Modification Package

Consider removing or updating as b13 INIs will not work with 15e

This package is recommended with Red Fog and Aiming Angles enabled. Red Fog, so that every hit point has meaning; and Aiming Angles, so that proper or improper positioning makes a bigger difference.

General Disclaimer

Posted by request. This package was a personal rebalancing of several aspects exposed in the DefaultGameCore.ini. These changes were played in early to early-mid; their balance is untested in late-mid to late game. They were made in Long War beta 13 and may not work with earlier or later betas. Please include information on all mods made to the game, including .ini modifications, when reporting bugs or providing feedback to the mod developers.

Although the majority of the modifications made to the Long War mod were made as soon as beta 13 was downloaded, some were added as the game was played. Some modifications that are included in the linked file may have been missed in the wiki detail due to poor personal changelog habits.

Please thank the devs of Long War not only for the Long War mod itself, but more importantly, for opening up the XCOM game so that players can alter their mod to suit individual preferences.

DefaultGameCore.ini

This link will be removed at request of the moderators of this page or at request of the developers of the Long War mod.

Dropbox Link

XCOM Unit Modifications

Soldier starting stats vary by much greater margins.

Search for Characters=( strName="", iType=eChar_Soldier and edit the Will entry to =30
Search for BalanceMods_Easy=( eType=eChar_Soldier, iDamage=0, iCritHit=0 and edit the iDefense entry to =15
Search for LOW_AIM= and edit it to =45
Search for HIGH_MOBILITY and edit it to =-15 (that's negative 15; it's necessary for how the game rolls random stats)
Search for LOW_WILL and edit it to =10

Starting barracks is filled with 64 eager rookies. With the above variation in stats, the additional bodies may be needed.

Search for NUM_STARTING_SOLDIERS and edit it to =64

Psionic soldiers are easier to field. (If it were possible, I'd make this a binary check: If the soldier's Will exceeds the power he is trying for, then he succeeds; if not, he fails. I'd also obscure the percentage chance. Since no such code is exposed, everybody gets psi if they spend the time to do it.)

Search for PSI_GIFT_CHANCE and edit it to =.99
Search for PSI_TRAINING_HOURS and edit it to =144

Psi XP requirements reduced.

Search for ; Psi XP Levels and alter the required XP as desired.

Equipment Modifications

Laser Sniper Rifle, Scatter Laser and Laser Strike Rifle all have ballistic ammo levels. Further weapon tiers were not modified because the effect on game balance could not be directly observed; modify higher tiers to your own liking.

Search for Weapons=( strName="", iType=eItem_ExaltLaserSniperRifle and replace the whole line with:
Weapons=( strName="", iType=eItem_ExaltLaserSniperRifle,    ABILITIES[0]=eAbility_ShotStandard,   ABILITIES[1]=eAbility_Overwatch,			 ABILITIES[2]=eAbility_Aim,          ABILITIES[3]=0,                  ABILITIES[4]=0,             ABILITIES[5]=0,             Properties[0]=eWP_Sniper,     Properties[1]=eWP_MoveLimited,   Properties[2]=0,   			  Properties[3]=0,             Properties[4]=0,               Properties[5]=0,        iDamage=6,  iEnvironmentDamage=30, iRange=200, iReactionRange=30, iReactionAngle=200, iRadius=0,    iCritical=25, iOffenseBonus=7,  iSuppression=605,  iSize=eItemSize_Large, iHPBonus=0, iWillBonus=0 ); Laser Sniper Rifle
Search for Weapons=( strName="", iType=eItem_LaserAssaultGun and replace the whole line with:
Weapons=( strName="", iType=eItem_LaserAssaultGun,          ABILITIES[0]=eAbility_ShotStandard,   ABILITIES[1]=eAbility_Overwatch,           ABILITIES[2]=0,                     ABILITIES[3]=0,                  ABILITIES[4]=0,             ABILITIES[5]=0,             Properties[0]=eWP_Assault,    Properties[1]=eWP_Rifle,     	 Properties[2]=0,                 Properties[3]=0,             Properties[4]=0,               Properties[5]=0,        iDamage=7,  iEnvironmentDamage=60, iRange=30,  iReactionRange=14, iReactionAngle=360, iRadius=0,    iCritical=20, iOffenseBonus=7,  iSuppression=605,  iSize=eItemSize_Large, iHPBonus=0, iWillBonus=0 ); Scatter Laser
Search for Weapons=( strName="", iType=227 and replace the whole line with:
Weapons=( strName="", iType=227,         				    ABILITIES[0]=eAbility_ShotStandard,   ABILITIES[1]=eAbility_Overwatch,           ABILITIES[2]=eAbility_Aim,          ABILITIES[3]=0, 			      ABILITIES[4]=0,             ABILITIES[5]=0,             Properties[0]=eWP_Sniper,     Properties[1]=eWP_Overheats,   	 Properties[2]=eWP_MoveLimited,   Properties[3]=0,             Properties[4]=0,               Properties[5]=0,        iDamage=6,  iEnvironmentDamage=30, iRange=36,  iReactionRange=36, iReactionAngle=200, iRadius=0,    iCritical=15, iOffenseBonus=7,  iSuppression=605,  iSize=eItemSize_Large, iHPBonus=0, iWillBonus=0 ); Laser Strike Rifle

All armor small item equippables confer the Secondary Heart perk.

Search for Itembalance_Normal=(eItem=eItem_ChitinPlating and replace the whole line with:
Itembalance_Normal=(eItem=eItem_ChitinPlating,				iCash=100,	iElerium=0,		iAlloys=4020,		iTime=10,	iEng=35);
Search for Itembalance_Normal=(eItem=eItem_ReinforcedArmor and replace the whole line with:
Itembalance_Normal=(eItem=eItem_ReinforcedArmor,			iCash=0,	iElerium=0,		iAlloys=4005,		iTime=7,	iEng=15);
Search for ItemBalance_Normal=(eItem=94 and replace the whole line with:
ItemBalance_Normal=(eItem=94,  								iCash=60,	iElerium=5002,	iAlloys=4003,		iTime=7,	iEng=30)
Search for ItemBalance_Normal=(eItem=95 and replace the whole line with:
ItemBalance_Normal=(eItem=95,								iCash=-1,	iElerium=0,		iAlloys=4000,		iTime=-1,	iEng=-1)
Search for Itembalance_Normal=(eItem=220 and replace the whole line with:
Itembalance_Normal=(eItem=220,								iCash=70,	iElerium=0,		iAlloys=4010,		iTime=7,	iEng=12);

Tactical Modifications

Flying provides no defensive bonus. This also causes flying units to be counted as exposed.

Search for AIR_EVADE_DEF and edit it to =0

Resource Modifications

Mechtoids and Floaters provide significantly more Meld.

Search for MECHTOID_MELD and edit it to =80
Search for HFLOATER_MELD and edit it to =1030

Strategy game altered so that resources are more plentiful and all items are cheaper, but take longer to build. Net result can be gamed, arguably: rushing an item will result in the same credit, alloy and elerium cost as the base LW mod, but will take 75% of the time it would take in the base LW mod -- but this also adds a Meld cost.

Search for ABDUCTION_REWARD_CASH and edit it to =300
Search for ITEM_TIME_BALANCE and edit it to =1.5
Search for ITEM_CREDIT_BALANCE and edit it to =.66
Search for ITEM_ELERIUM_BALANCE and edit it to =.66
Search for ITEM_ALLOY_BALANCE and edit it to =.66
Search for ITEM_MELD_BALANCE and edit it to =.25

Enemy Unit Modifications

Thin Man poison spit reduced to range of 5.

Search for Weapons=( strName="", iType=eItem_Plague and replace the whole line with:
Weapons=( strName="", iType=eItem_Plague,                   ABILITIES[0]=eAbility_Plague,         ABILITIES[1]=0,                            ABILITIES[2]=0,                     ABILITIES[3]=0,                  ABILITIES[4]=0,             ABILITIES[5]=0,             Properties[0]=eWP_Support,    Properties[1]=eWP_Secondary,     Properties[2]=eWP_NoReload,      Properties[3]=eWP_Backpack,  Properties[4]=0,               Properties[5]=0,        iDamage=7,  iEnvironmentDamage=45,  iRange=5,  iReactionRange=25, iReactionAngle=200, iRadius=144,  iCritical=0,  iOffenseBonus=0,  iSuppression=202, iSize=eItemSize_Small, iHPBonus=0, iWillBonus=0 ) 

Lightning Reflexes removed from all Chryssalid units.

Search for BalanceMods_Hard=(eType=eChar_Chryssalid, iDamage=1, iCritHit=2, iAim=0 and replace the whole line with:
BalanceMods_Hard=(eType=eChar_Chryssalid,			iDamage=1, iCritHit=2, 	iAim=0, iDefense=5,	iHP=1, 	iMobility=0,	iWill=0); Lightning Reflexes (removed)

All Exalt and Elite Exalt that have not been promoted to navigator/leader have significantly reduced hit points, putting all Exalt into one-shot territory. Their offensive capabilities have not been altered.

Search the Characters block (the first major block of text after armors) for any entry with "Exalt" in the name. Find HP= on that line. Adjust as desired.

All alien and Exalt final forms have been disabled, except the leader/navigator. This final upgrade would normally occur at "alien research threshold" 900, which is a rough estimate of how many days have passed since the beginning of the game, modified by alien research efforts. These final upgrades give the aliens substantially higher stats and seem to have been intended to provide a sense of urgency and/or provoke the player to finish the game (to be fair, two to three years is plenty long enough). This file disables them simply because the author of the package modding the mod doesn't like them.

To re-enable these super upgrades or to disable earlier upgrades, search for ; ALIEN AUTOMATIC UPGRADES. The section that follows details all of the upgrades each non-XCOM unit can receive over time, most of which start at "210". Place a semicolon at the beginning of any line which you want to disable, or remove the semicolon from each unit line you want to re-enable.

Note that, despite denying aliens and Exalt their final upgrades and restricting Exalt starting HP, leader/navigator types of each alien will remain a significant threat.

bingo's Modification Package

Floater flying removal

You feel that there are too many flying units in LW? you can remove flying ability and launch ability from floater and heavy floater.

Search for Characters=( strName="", iType=eChar_Floater and replace the whole line with:
Characters=( strName="", iType=eChar_Floater,             HP=5,  Offense=65,  Defense=0,  Mobility=13, SightRadius=27, Will=20,  ShieldHP=0, CritHitChance=0, CritWoundChance=0, FlightFuel=0, Reaction=0, ABILITIES[0]=eAbility_TakeCover,     ABILITIES[1]=0,            ABILITIES[2]=0,     ABILITIES[3]=0,                         ABILITIES[4]=0,                 ABILITIES[5]=0,             ABILITIES[6]=0,             ABILITIES[7]=0,             Properties[0]=eCP_Flight,         	Properties[1]=eCP_AirEvade,	Properties[2]=0,           			Properties[3]=0,           Properties[4]=0,      				Properties[5]=0,  bCanUse_eTraversal_Normal=True,  bCanUse_eTraversal_ClimbOver=True,  bCanUse_eTraversal_ClimbOnto=True,  bCanUse_eTraversal_ClimbLadder=False, bCanUse_eTraversal_DropDown=True,  bCanUse_eTraversal_Grapple=False, bCanUse_eTraversal_Landing=True,  bCanUse_eTraversal_BreakWindow=True,  bCanUse_eTraversal_KickDoor=True,  bCanUse_eTraversal_JumpUp=False, bCanUse_eTraversal_WallClimb=False, bCanUse_eTraversal_BreakWall=False, kInventory=( iArmor=eItem_NONE, iPistol=eItem_NONE, arrLargeItems[0]=0, arrLargeItems[1]=0, arrLargeItems[2]=0, arrLargeItems[3]=0, arrLargeItems[4]=0, arrLargeItems[5]=0, arrLargeItems[6]=0, arrLargeItems[7]=0, arrLargeItems[8]=0, arrLargeItems[9]=0, arrLargeItems[10]=0, arrLargeItems[11]=0, arrLargeItems[12]=0, arrLargeItems[13]=0, arrLargeItems[14]=0, arrLargeItems[15]=0, iNumLargeItems=0, arrSmallItems[0]=0, arrSmallItems[1]=0, arrSmallItems[2]=0, arrSmallItems[3]=0, arrSmallItems[4]=0, arrSmallItems[5]=0, arrSmallItems[6]=0, arrSmallItems[7]=0, arrSmallItems[8]=0, arrSmallItems[9]=0, arrSmallItems[10]=0, arrSmallItems[11]=0, arrSmallItems[12]=0, arrSmallItems[13]=0, arrSmallItems[14]=0, arrSmallItems[15]=0, iNumSmallItems=0, arrCustomItems[0]=0, arrCustomItems[1]=0, arrCustomItems[2]=0, arrCustomItems[3]=0, arrCustomItems[4]=0, arrCustomItems[5]=0, arrCustomItems[6]=0, arrCustomItems[7]=0, arrCustomItems[8]=0, arrCustomItems[9]=0, arrCustomItems[10]=0, arrCustomItems[11]=0, arrCustomItems[12]=0, arrCustomItems[13]=0, arrCustomItems[14]=0, arrCustomItems[15]=0, iNumCustomItems=0 ), eClass=eSC_None, bHasPsiGift=False, fBioElectricParticleScale=1 )
Search for Characters=( strName="", iType=eChar_FloaterHeavy, and replace the whole line with:
Characters=( strName="", iType=eChar_FloaterHeavy,        HP=15, Offense=70,  Defense=10, Mobility=12, SightRadius=27, Will=25,  ShieldHP=0, CritHitChance=0, CritWoundChance=0, FlightFuel=0, Reaction=0, ABILITIES[0]=eAbility_TakeCover,     ABILITIES[1]=0,            ABILITIES[2]=0,     ABILITIES[3]=0,                         ABILITIES[4]=0,                 ABILITIES[5]=0,             ABILITIES[6]=0,             ABILITIES[7]=0,             Properties[0]=eCP_Flight,         	Properties[1]=eCP_AirEvade, Properties[2]=0,           			Properties[3]=0,           Properties[4]=0,      				Properties[5]=0,  bCanUse_eTraversal_Normal=True,  bCanUse_eTraversal_ClimbOver=True,  bCanUse_eTraversal_ClimbOnto=True,  bCanUse_eTraversal_ClimbLadder=False, bCanUse_eTraversal_DropDown=True,  bCanUse_eTraversal_Grapple=False, bCanUse_eTraversal_Landing=True,  bCanUse_eTraversal_BreakWindow=False, bCanUse_eTraversal_KickDoor=False, bCanUse_eTraversal_JumpUp=False, bCanUse_eTraversal_WallClimb=False, bCanUse_eTraversal_BreakWall=False, kInventory=( iArmor=eItem_NONE, iPistol=eItem_NONE, arrLargeItems[0]=0, arrLargeItems[1]=0, arrLargeItems[2]=0, arrLargeItems[3]=0, arrLargeItems[4]=0, arrLargeItems[5]=0, arrLargeItems[6]=0, arrLargeItems[7]=0, arrLargeItems[8]=0, arrLargeItems[9]=0, arrLargeItems[10]=0, arrLargeItems[11]=0, arrLargeItems[12]=0, arrLargeItems[13]=0, arrLargeItems[14]=0, arrLargeItems[15]=0, iNumLargeItems=0, arrSmallItems[0]=0, arrSmallItems[1]=0, arrSmallItems[2]=0, arrSmallItems[3]=0, arrSmallItems[4]=0, arrSmallItems[5]=0, arrSmallItems[6]=0, arrSmallItems[7]=0, arrSmallItems[8]=0, arrSmallItems[9]=0, arrSmallItems[10]=0, arrSmallItems[11]=0, arrSmallItems[12]=0, arrSmallItems[13]=0, arrSmallItems[14]=0, arrSmallItems[15]=0, iNumSmallItems=0, arrCustomItems[0]=0, arrCustomItems[1]=0, arrCustomItems[2]=0, arrCustomItems[3]=0, arrCustomItems[4]=0, arrCustomItems[5]=0, arrCustomItems[6]=0, arrCustomItems[7]=0, arrCustomItems[8]=0, arrCustomItems[9]=0, arrCustomItems[10]=0, arrCustomItems[11]=0, arrCustomItems[12]=0, arrCustomItems[13]=0, arrCustomItems[14]=0, arrCustomItems[15]=0, iNumCustomItems=0 ), eClass=eSC_None, bHasPsiGift=False, fBioElectricParticleScale=1 ) 


for the compensation, you can give additional Aim bonus to floater and heavy floater by add 10 to their Offense value. changes above don't include aim bonus.

Heavy Floater grenade removal

if you want to remove Heavy Floater grenade ability,

Search for Weapons=( strName="", iType=eItem_FloaterGrenade, ABILITIES[0]=eAbility_AlienGrenade and replace "ABILITIES[0]=eAbility_AlienGrenade" with:
ABILITIES[0]=0

PatcherGUI Mods

Mods for Longwar

Use this link for mods for Longwar:

https://www.reddit.com/r/Xcom/comments/4gorly/long_war_101_mods_compatible_with_10_updated/

This mod manager helps to manage your mods

http://www.nexusmods.com/xcom/mods/620/?

Improved Neural Feedback

Roughly 2.5x the feedback damage

//This script was generated by HexToPseudoCode decompiler for use with PatchUPK/PatcherGUI tool
UPK_FILE = XComGame.upk
OBJECT = XGUnit.ApplyNeuralFeedback : AUTO
[BEFORE_CODE]
/*(0x0ACB/0x078F)*/ 0F 00 <.iDmg> FA 91 93 38 44 AB 38 3F 19 1A 25 00 <.kTarget> [@] <XGUnitNativeBase.GetWill.ReturnValue> 00 ( 1B <GetWill> 16 ) 1E <%f 1.3> 16 1B <GetWill> 16 16 2C 0A 16 26 16 

[AFTER_CODE]
/*(0x0ACB/0x078F)*/ 0F 00 <.iDmg> FA 91 93 38 44 AB 38 3F 19 1A 25 00 <.kTarget> [@] <XGUnitNativeBase.GetWill.ReturnValue> 00 ( 1B <GetWill> 16 ) 1E <%f 1.7> 16 1B <GetWill> 16 16 2C 0A 16 26 16 

Double Damage XCOM Aircraft Weapons

Note: This will probably not work with the latest version of Long War, since air combat variables have been moved to DefaultGameCore.ini.

XCOM aircraft weapons have been modified to do double damage (armor penetration unchanged). Alien air weapons unchanged. Use PatcherGUI to implement.

//This script was generated by HexToPseudoCode decompiler for use with PatchUPK/PatcherGUI tool
UPK_FILE = XComStrategyGame.upk
OBJECT = XGItemTree.UpdateShips : AUTO
[REPLACEMENT_CODE]
/*(0x0000/0x0000)*/ 0F 01 <@m_iCurrentCategory> FB 91 1B <STAT_GetStat> 26 16 2C 1E 16 2C 00 2C 20 16 
/*(0x001F/0x001B)*/ 1B <UpdateShip> 24 02 1D <%i 2000> 2C 0A 2C 08 25 25 16 
/*(0x0036/0x0032)*/ 07 [@label_0x0048] 72 1B <ENGINEERING> 16 2A 16 
/*(0x0046/0x0042)*/ 	04 0B 
/*(0x0048/0x0044)*/ [#label_0x0048]
/*(0x0048/0x0044)*/ 1B <UpdateShip> 24 01 1D <%i 1500> 92 2C 0A 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 21 16 ) [@] ( 24 05 ) [@] ( 25 ) 16 92 1D <%i 2500> 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 0C 16 ) [@] ( 1D <%i 1000> ) [@] ( 25 ) 16 2C 05 92 2C 00 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1C 16 ) [@] ( 24 05 ) [@] ( 25 ) 16 16 
/*(0x00EB/0x00DB)*/ 1B <UpdateShip> 24 03 1D <%i 3500> 92 2C 0F 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 21 16 ) [@] ( 24 05 ) [@] ( 25 ) 16 92 1D <%i 4000> 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 0C 16 ) [@] ( 1D <%i 1000> ) [@] ( 25 ) 16 2C 19 92 2C 05 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1C 16 ) [@] ( 24 05 ) [@] ( 25 ) 16 16 
/*(0x018E/0x0172)*/ 1B <UpdateShip> 24 04 1D <%i 3000> 2C 2A 92 1D <%i 750> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 00 2C 03 16 
/*(0x01B9/0x0199)*/ 1B <UpdateShip> 24 05 1D <%i 2250> 2C 1E 92 1D <%i 1600> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 12 2C 0F 16 
/*(0x01E4/0x01C0)*/ 1B <UpdateShip> 24 06 1D <%i 1700> 2C 19 92 1D <%i 4000> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 1E 2C 02 16 
/*(0x020F/0x01E7)*/ 1B <UpdateShip> 24 07 1D <%i 1200> 2C 12 92 1D <%i 5000> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 20 2C 00 16 
/*(0x023A/0x020E)*/ 1B <UpdateShip> 24 08 1D <%i 2000> 2C 23 92 1D <%i 9000> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 24 2C 14 16 
/*(0x0265/0x0235)*/ 1B <UpdateShip> 24 09 1D <%i 3500> 2C 3C 92 1D <%i 2500> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 28 2C 19 16 
/*(0x0290/0x025C)*/ 1B <UpdateShip> 24 0A 1D <%i 2500> 2C 28 92 1D <%i 850> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 0C 2C 07 16 
/*(0x02BB/0x0283)*/ 1B <UpdateShip> 24 0B 1D <%i 2600> 2C 20 92 1D <%i 1500> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 05 2C 07 16 
/*(0x02E6/0x02AA)*/ 1B <UpdateShip> 24 0C 1D <%i 1500> 2C 18 92 1D <%i 3500> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 14 2C 03 16 
/*(0x0311/0x02D1)*/ 1B <UpdateShip> 24 0D 1D <%i 1300> 2C 14 92 1D <%i 6000> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 19 2C 00 16 
/*(0x033C/0x02F8)*/ 1B <UpdateShip> 24 0E 1D <%i 1400> 2C 23 92 1D <%i 8000> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 1C 2C 12 16 
/*(0x0367/0x031F)*/ 07 [@label_0x0391] 97 01 <@m_iCurrentCategory> 2C 08 16 
/*(0x0377/0x032B)*/ 	1B <BuildShip> 24 05 01 <@m_strSizeMedium> 24 50 2C 09 4A 16 
/*(0x0391/0x0341)*/ [#label_0x0391]
/*(0x0391/0x0341)*/ 07 [@label_0x03BC] 97 01 <@m_iCurrentCategory> 2C 0A 16 
/*(0x03A1/0x034D)*/ 	1B <BuildShip> 24 0A 01 <@m_strSizeSmall> 24 4F 2C 08 2C 08 16 
/*(0x03BC/0x0364)*/ [#label_0x03BC]
/*(0x03BC/0x0364)*/ 07 [@label_0x0402] 97 01 <@m_iCurrentCategory> 2C 0C 16 
/*(0x03CC/0x0370)*/ 	1B <BuildShip> 24 06 01 <@m_strSizeLarge> 24 51 2C 09 2C 08 16 
/*(0x03E7/0x0387)*/ 	1B <BuildShip> 24 0D 01 <@m_strSizeLarge> 24 52 2C 09 2C 08 16 
/*(0x0402/0x039E)*/ [#label_0x0402]
/*(0x0402/0x039E)*/ 07 [@label_0x0473] 97 01 <@m_iCurrentCategory> 2C 12 16 
/*(0x0412/0x03AA)*/ 	1B <BuildShip> 24 0B 01 <@m_strSizeMedium> 24 50 2C 08 2C 08 16 
/*(0x042D/0x03C1)*/ 	1B <BuildShip> 24 0E 01 <@m_strSizeVeryLarge> 24 54 2C 09 2C 09 16 
/*(0x0448/0x03D8)*/ 	1B <UpdateShip> 24 05 1D <%i 2250> 2C 1E 92 1D <%i 1600> 90 2C 4B 01 <@m_iCurrentCategory> 16 16 2C 20 2C 14 16 
/*(0x0473/0x03FF)*/ [#label_0x0473]
/*(0x0473/0x03FF)*/ 07 [@label_0x051C] 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 2C 16 ) 
/*(0x0498/0x0420)*/ 	1B <BuildShipWeapon> 24 01 1D <%i -1> 2C 64 1E <%f 0.75> 1D <%i 460> 2C 12 92 92 2C 28 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x0519/0x0491)*/ 	06 [@label_0x059D] 
/*(0x051C/0x0494)*/ [#label_0x051C]
/*(0x051C/0x0494)*/ 1B <BuildShipWeapon> 24 01 1D <%i -1> 2C 64 1E <%f 0.75> 1D <%i 280> 2C 05 92 92 2C 28 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x059D/0x0505)*/ [#label_0x059D]
/*(0x059D/0x0505)*/ 1B <BuildShipWeapon> 24 02 1D <%i 3> 2C 64 1E <%f 1.5> 1D <%i 400> 2C 0A 92 92 2C 28 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x061E/0x0576)*/ 1B <BuildShipWeapon> 24 03 1D <%i 3> 2C 64 1E <%f 2> 1D <%i 680> 2C 00 92 92 2C 28 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x069F/0x05E7)*/ 07 [@label_0x0748] 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 22 16 ) 
/*(0x06C4/0x0608)*/ 	1B <BuildShipWeapon> 24 04 1D <%i -1> 2C 64 1E <%f 0.75> 1D <%i 600> 2C 0B 92 92 2C 37 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x0745/0x0679)*/ 	06 [@label_0x07C9] 
/*(0x0748/0x067C)*/ [#label_0x0748]
/*(0x0748/0x067C)*/ 1B <BuildShipWeapon> 24 04 1D <%i -1> 2C 64 1E <%f 1> 1D <%i 580> 2C 05 92 92 2C 37 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x07C9/0x06ED)*/ [#label_0x07C9]
/*(0x07C9/0x06ED)*/ 1B <BuildShipWeapon> 24 05 1D <%i 10> 2C 64 1E <%f 1> 1D <%i 1300> 2C 16 92 92 2C 28 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x084A/0x075E)*/ 1B <BuildShipWeapon> 24 06 1D <%i -1> 2C 64 1E <%f 0.55> 1D <%i 620> 2C 1E 92 92 2C 1E 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x08CB/0x07CF)*/ 1B <BuildShipWeapon> 24 07 1D <%i 10> 2C 64 1E <%f 1.25> 1D <%i 2400> 2C 1A 92 92 2C 1E 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1F 16 ) [@] ( 2C 0A ) [@] ( 25 ) 16 45 1B <IsOptionEnabled> 24 18 16 [@] ( 38 44 12 20 <XComGame.XGTacticalGameCore> [@] <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> 00 ( 02 <XComGame.XGTacticalGameCoreNativeBase.ABDUCTION_REWARD_SCI> ) ) [@] ( 25 ) 16 16 
/*(0x094C/0x0840)*/ 1B <BuildShipWeapon> 24 08 1D <%i -1> 2C 65 1E <%f 1.15> 92 1D <%i 450> 90 24 08 01 <@m_iCurrentCategory> 16 16 2C 00 92 2C 21 92 90 24 02 01 <@m_iCurrentCategory> 16 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 20 16 ) [@] ( 1D <%i -15> ) [@] ( 25 ) 16 16 16 
/*(0x09BA/0x08A2)*/ 1B <BuildShipWeapon> 24 09 1D <%i -1> 2C 65 1E <%f 1.25> 92 1D <%i 800> 90 24 08 01 <@m_iCurrentCategory> 16 16 2C 14 92 2C 28 92 90 24 02 01 <@m_iCurrentCategory> 16 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 20 16 ) [@] ( 1D <%i -15> ) [@] ( 25 ) 16 16 16 
/*(0x0A28/0x0904)*/ 1B <BuildShipWeapon> 24 0A 1D <%i -1> 2C 65 1E <%f 1.25> 92 1D <%i 1300> 90 24 08 01 <@m_iCurrentCategory> 16 16 2C 32 92 2C 2D 92 90 24 02 01 <@m_iCurrentCategory> 16 45 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 20 16 ) [@] ( 1D <%i -15> ) [@] ( 25 ) 16 16 16 
/*(0x0A96/0x0966)*/ 07 [@label_0x0AF0] 19 1B <ENGINEERING> 16 [@] <XGFacility_Engineering.IsFoundryTechResearched.ReturnValue> 00 ( 1B <IsFoundryTechResearched> 2C 1B 16 ) 
/*(0x0ABB/0x0987)*/ 	1B <BuildShip> 26 01 <@m_strSizeSmall> 24 44 2C 03 2C 02 16 
/*(0x0AD5/0x099D)*/ 	1B <BuildShip> 24 03 01 <@m_strSizeSmall> 24 45 2C 03 2C 02 16 
/*(0x0AF0/0x09B4)*/ [#label_0x0AF0]
/*(0x0AF0/0x09B4)*/ 1B <UpdateAllShipTemplates> 16 
/*(0x0AFA/0x09BE)*/ 04 0B 
/*(0x0AFC/0x09C0)*/ 53