Sblargh Posted February 29, 2016 Share Posted February 29, 2016 (edited) Hey, thanks a lot for the help.Ok, let's go. Using other mods? No.Cleaned out documents? Yes.Whitespace: The line is exactly how it is on DefaultNameList.ini but XcomNameList.ini is different. On XCcomNameList.ini is NewSoldier_HatChance=0.15 while on DefaultNameList.ini is NewSoldier_HatChance = 0.15 Modbuddy? Yes. I'll try rebuilding more; as I usually just press F5 to see the changes. So, doing all that, still doesn't work. The newly created XComNameList.ini retain the original Default values, plus, is being ignored anyway. EDIT:Oh bollocks on a stick of flaming fury, I think I solved it.The problem was in retaining the original [XComGame.UGCharacterGenerator] Now that is [RandomRookies.RandomRookies] It is working. Edited February 29, 2016 by Sblargh Link to comment Share on other sites More sharing options...
davidlallen Posted February 29, 2016 Share Posted February 29, 2016 I can't tell you how many times I have found something where I was sure the game was wrong, but after double checking the files enough, I found an error similar to what you found. Keep checking, but do keep posting if you are really stuck. Link to comment Share on other sites More sharing options...
mairsil1 Posted March 1, 2016 Author Share Posted March 1, 2016 (edited) EDIT:Oh *censored* on a stick of flaming fury, I think I solved it.The problem was in retaining the original [XComGame.UGCharacterGenerator] Now that is [RandomRookies.RandomRookies] It is working. Wait, I'm not following. I thought in order to make changes to existing classes or existing INI file entries, your mod INI file had to match the default file's naming convention. If it doesn't, how does the game know where to apply the changes? For example, I'm trying to make changes to the Ranger skill tree, if I don't apply those changes to XComClassData [Ranger X2SoldierClassTemplate], how would the game know I wasn't building a new class or doing something else completely random? Edit: I have looked at another mod, RangerRebalance, which does exactly what I'm trying to do and ostensibly works. The INI file in that mod does keep the name XComClassData and the first line declares [Ranger X2SoldierClassTemplate] then performs the subtraction of the old/addition of the new skills, so I'm not sure why your changing the INI file and section names worked for you and why me keeping the originals fails for me. Edited March 1, 2016 by mairsil1 Link to comment Share on other sites More sharing options...
Yzaxtol Posted March 2, 2016 Share Posted March 2, 2016 I hope this helps you out, I'm just dumping my currently working Classes Overhaul from my XComGame_ClassData.ini so you can see where you're going different. [XComGame.X2SoldierClass_DefaultClasses] [Sharpshooter X2SoldierClassTemplate] +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") -SoldierRanks=( aAbilityTree=( (AbilityName="PistolStandardShot", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="Squadsight") ), aStatProgression=((StatType=eStat_Offense,StatAmount=10), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="PistolStandardShot", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="EagleEye") ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="LongWatch", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="ReturnFire", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="LongWatch", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="ReturnFire", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Deadeye", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="LightningHands", 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Deadeye", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="LightningHands", 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)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="DeathFromAbove", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Quickdraw") ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="DeathFromAbove", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Quickdraw") ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="KillZone", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Faceoff", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="KillZone", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Faceoff", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="SteadyHands"), (AbilityName="SharpshooterAim", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="SteadyHands"), (AbilityName="SharpshooterAim", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="InTheZone", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="FanFire", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="InTheZone", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="FanFire", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [Grenadier X2SoldierClassTemplate] +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") -SoldierRanks=( aAbilityTree=( (), (AbilityName="LaunchGrenade", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (), (AbilityName="LaunchGrenade", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="BlastPadding", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Shredder", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="BlastPadding", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Shredder", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Demolition", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Suppression", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Demolition", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Suppression", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), 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)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="HeavyOrdnance", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="HoloTargeting", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="HeavyOrdnance", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="HoloTargeting", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="VolatileMix", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="ChainShot", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="VolatileMix", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="ChainShot", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Salvo", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="HailOfBullets", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Salvo", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="HailOfBullets", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="SaturationFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="BulletShred", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="SaturationFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="BulletShred", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [Specialist X2SoldierClassTemplate] +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") -SoldierRanks=( aAbilityTree=( (AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=45), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) -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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="MedicalProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="CombatProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="RevivalProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="HaywireProtocol", 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="RevivalProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="HaywireProtocol", 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)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="FieldMedic", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="ScanningProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="FieldMedic", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="ScanningProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="CoveringFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="ThreatAssessment", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="CoveringFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="ThreatAssessment", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="EverVigilant", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Sentinel", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="EverVigilant", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Sentinel", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="RestorativeMist", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="CapacitorDischarge", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="RestorativeMist", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="CapacitorDischarge", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [Ranger X2SoldierClassTemplate] +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") -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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="SwordSlice", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Phantom"), (AbilityName="Blademaster", 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Phantom"), (AbilityName="Blademaster", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Shadowstrike", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Shadowstep", ApplyToWeaponSlot=eInvSlot_Unknown) ), 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=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Shadowstrike", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Shadowstep", ApplyToWeaponSlot=eInvSlot_Unknown) ), 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)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Stealth"), (AbilityName="RunAndGun") ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Stealth"), (AbilityName="RunAndGun") ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="Implacable"), (AbilityName="Bladestorm", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Implacable"), (AbilityName="Bladestorm", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="DeepCover"), (AbilityName="Untouchable") ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=0), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="DeepCover"), (AbilityName="Untouchable") ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) -SoldierRanks=( aAbilityTree=( (AbilityName="RapidFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Reaper", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="RapidFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Reaper", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [PsiOperative X2SoldierClassTemplate] +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") [Rookie X2SoldierClassTemplate] +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses=SpectrumGuardian [SpectrumGuardian X2SoldierClassTemplate] +bMultiplayerOnly=0 +ClassPoints=7 +IconImage="img:///Spectrum_Icons.class_guardian" +NumInForcedDeck=1 +NumInDeck=7 +KillAssistsPerKill=3 +SquaddieLoadout="SpectrumSquaddieGuardian" +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") +AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="gremlin") +SoldierRanks=( aAbilityTree=( (AbilityName="MedicalProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="LongWatch", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="FieldMedic", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="SteadyHands", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="RevivalProtocol", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="CoveringFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="DeepCover", ApplyToWeaponSlot=eInvSlot_Unknown) , (AbilityName="EverVigilant", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="ThreatAssessment"), (AbilityName="Sentinel", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="RestorativeMist", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="KillZone", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses=SpectrumCodebreaker [SpectrumCodebreaker X2SoldierClassTemplate] +bMultiplayerOnly=0 +ClassPoints=8 +IconImage="img:///Spectrum_Icons.class_codebreaker" +NumInForcedDeck=1 +NumInDeck=8 +KillAssistsPerKill=3 +SquaddieLoadout="SpectrumSquaddieCodebreaker" +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="sniper_rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") +AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="gremlin") +SoldierRanks=( aAbilityTree=( (AbilityName="IntrusionProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=45), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="EWSuite"), (AbilityName="AidProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="HaywireProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="Phantom") ), 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="HoloTargeting", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="ShadowStep", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="ScanningProtocol", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) , (AbilityName="Stealth") ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Deadeye", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon ), (AbilityName="ThreatAssessment") ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="CapacitorDischarge", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="BulletShred", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses=SpectrumSupport [SpectrumSupport X2SoldierClassTemplate] +bMultiplayerOnly=0 +ClassPoints=9 +IconImage="img:///Spectrum_Icons.class_support" +NumInForcedDeck=1 +NumInDeck=9 +KillAssistsPerKill=3 +SquaddieLoadout="SpectrumSquaddieSupport" +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") +AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="grenade_launcher") +SoldierRanks=( aAbilityTree=( (AbilityName="LaunchGrenade", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="CoveringFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="Sprinter", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="FieldMedic", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="HeavyOrdnance", ApplyToWeaponSlot=eInvSlot_Unknown) ), 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Suppression", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="HoloTargeting", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="DeepCover"), (AbilityName="EverVigilant", ApplyToWeaponSlot=eInvSlot_Unknown) ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Shredder", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), (AbilityName="EagleEye") ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Sentinel", ApplyToWeaponSlot=eInvSlot_Unknown) , (AbilityName="BulletShred", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses=SpectrumAssault [SpectrumAssault X2SoldierClassTemplate] +bMultiplayerOnly=0 +ClassPoints=9 +IconImage="img:///Spectrum_Icons.class_headhunter" +NumInForcedDeck=1 +NumInDeck=9 +KillAssistsPerKill=3 +SquaddieLoadout="SpectrumSquaddieAssault" +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="shotgun") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="rifle") +AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="cannon") +AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="pistol") +SoldierRanks=( aAbilityTree=( (AbilityName="PistolStandardShot", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="RunAndGun") ), aStatProgression=((StatType=eStat_Offense,StatAmount=4), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=35), (StatType=eStat_CombatSims,StatAmount=1)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="BlastPadding", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Sprinter") ), aStatProgression=((StatType=eStat_Offense,StatAmount=3), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="VolatileMix", ApplyToWeaponSlot=eInvSlot_Unknown), (AbilityName="Shadowstep", ApplyToWeaponSlot=eInvSlot_Unknown) ), 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)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="LightningHands", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="KeenSenses") ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="Faceoff", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), (AbilityName="Untouchable") ), aStatProgression=((StatType=eStat_Offense,StatAmount=2), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="RapidFire", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon) , (AbilityName="Implacable") ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=0), (StatType=eStat_Strength,StatAmount=0), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) +SoldierRanks=( aAbilityTree=( (AbilityName="FanFire", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon) , (AbilityName="Predator") ), aStatProgression=((StatType=eStat_Offense,StatAmount=1), (StatType=eStat_HP,StatAmount=1), (StatType=eStat_Strength,StatAmount=1), (StatType=eStat_Hacking,StatAmount=5), (StatType=eStat_CombatSims,StatAmount=0)), ) Link to comment Share on other sites More sharing options...
mairsil1 Posted March 3, 2016 Author Share Posted March 3, 2016 Yzaxtol Thanks, but didn't work. Copied what you did precisely and still see no change to any class when I launch the debugger. I may go to the uninstall the SDK and reinstall path as I'm just not seeing anything that could be causing this issue. Link to comment Share on other sites More sharing options...
Kregano Posted March 21, 2016 Share Posted March 21, 2016 I think I have the solution to your problem. You need to copy the list of templates covering the skills your modded class will have into your custom ability's .uc file, then add the new ability at the end/in place of an existing ability, like so: class X2Ability_ConeOfFire extends X2Ability_GrenadierAbilitySet config(GameData_SoldierSkills) dependson (XComGameStateContext_Ability);static function array<X2DataTemplate> CreateTemplates(){ local array<X2DataTemplate> Templates; Templates.AddItem(HeavyOrdnance()); Templates.AddItem(BiggestBooms()); Templates.AddItem(Suppression()); Templates.AddItem(SuppressionShot()); Templates.AddItem(HoloTargeting()); Templates.AddItem(BlastPadding()); Templates.AddItem(BulletShred()); Templates.AddItem(PurePassive('Salvo', "img:///UILibrary_PerkIcons.UIPerk_salvo", true)); Templates.AddItem(VolatileMix()); Templates.AddItem(HailOfBullets()); Templates.AddItem(SaturationFire()); Templates.AddItem(PurePassive('Shredder', "img:///UILibrary_PerkIcons.UIPerk_shredder", true)); Templates.AddItem(ChainShot()); Templates.AddItem(ChainShot2()); Templates.AddItem(Demolition()); Templates.AddItem(ConeOfFire()); return Templates;} This overrides the class's default skill lookup and lets custom abilities appear on the skill tree if you're overriding XComClassData.ini. Link to comment Share on other sites More sharing options...
Recommended Posts