XCOM 2
[WOTC] Proficiency Class Plugin: Reaper
shiremct  [developer] 6 Aug, 2021 @ 2:32pm
Support for Recruitable Reapers
To have Proficiency Reapers ability tree used when playing with Recruitable Reapers, replace everything in Recruitable Reapers' XComClassData.ini file with the following:
;************************************************************************************************************ [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses="ReaperRecruit" ; REAPER: ;---------------------------------------- [ReaperRecruit X2SoldierClassTemplate] ;---------------------------------------- bMultiplayerOnly=0 IconImage=img:///UILibrary_XPACK_Common.Faction_Reaper_1_sm ClassPoints=4 NumInDeck=3 NumInForcedDeck=1 KillAssistsPerKill=4 SquaddieLoadout="WOTC_APA_Reaper_Squaddie" AllowedWeapons=(SlotType=eInvSlot_PrimaryWeapon, WeaponType="vektor_rifle") AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="pistol") AllowedArmors="reaper" bAllowAWCAbilities=1 BaseAbilityPointsPerPromotion=15 AbilityPointsIncrementPerPromotion=0 bCanHaveBonds=true +UnfavoredClasses="Skirmisher" +UnfavoredClasses="Templar" ; Random XCOM Abilities: (Completely random AWC ability pool rolls are replaced with pre-defined random decks) ; - Available for Ranks 2 - 4 +RandomAbilityDecks=( DeckName="WOTC_APA_Reaper_Deck_1", \\ Abilities=( (AbilityName="WOTC_APA_Blank1"), \\ (AbilityName="TacticalRigging"), \\ (AbilityName="WOTC_APA_TakeCover"), \\ (AbilityName="WOTC_APA_FailsafeOneFree"), \\ (AbilityName="WOTC_APA_DefensiveMineAWC"), \\ (AbilityName="WOTC_APA_ElectronicSurveillance") \\ ) ) ; - Available for Ranks 5 - 7 +RandomAbilityDecks=( DeckName="WOTC_APA_Reaper_Deck_2", \\ Abilities=( (AbilityName="WOTC_APA_Blank2"), \\ (AbilityName="Deadeye", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon), \\ (AbilityName="Squadsight"), \\ (AbilityName="WOTC_APA_Evasive"), \\ (AbilityName="WOTC_APA_StunShot", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon), \\ (AbilityName="WOTC_APA_LowProfile") \\ ) ) ; Squaddie (1) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="WOTC_APA_Shadow")), \\ (AbilityType=(AbilityName="WOTC_APA_Fade")), \\ (AbilityType=(AbilityName="WOTC_APA_SilentKiller")), \\ (AbilityType=(AbilityName="WOTC_APA_AmbushToggle")) \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=1), \\ (StatType=eStat_Offense, StatAmount=10), \\ (StatType=eStat_Will, StatAmount=5), \\ (StatType=eStat_Strength, StatAmount=0), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=10), \\ (StatType=eStat_CombatSims, StatAmount=1), \\ ) ) ; CPL (2) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="WOTC_APA_Infiltration")), \\ (AbilityType=(AbilityName="WOTC_APA_Phase")), \\ (AbilityType=(AbilityName="WOTC_APA_HawkEye")), \\ (RandomDeckName="WOTC_APA_Reaper_Deck_1") \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=0), \\ (StatType=eStat_Offense, StatAmount=3), \\ (StatType=eStat_Will, StatAmount=0), \\ (StatType=eStat_Strength, StatAmount=1), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=10), \\ ) ) ; SGT (3) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="WOTC_APA_Quickdraw", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon)), \\ (AbilityType=(AbilityName="WOTC_APA_Vanish")), \\ (AbilityType=(AbilityName="WOTC_APA_DeathFromAbove")), \\ (RandomDeckName="WOTC_APA_Reaper_Deck_1") \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=1), \\ (StatType=eStat_Offense, StatAmount=3), \\ (StatType=eStat_Will, StatAmount=0), \\ (StatType=eStat_Strength, StatAmount=0), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=10), \\ ) ) ; LTN (4) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="WOTC_APA_WeaponSpecialist")), \\ (AbilityType=(AbilityName="WOTC_APA_Haunt")), \\ (AbilityType=(AbilityName="WOTC_APA_BeastHunter")), \\ (RandomDeckName="WOTC_APA_Reaper_Deck_1") \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=0), \\ (StatType=eStat_Offense, StatAmount=3), \\ (StatType=eStat_Will, StatAmount=0), \\ (StatType=eStat_Strength, StatAmount=0), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=5), \\ ) ) ; CPT (5) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="WOTC_APA_Weakpoint", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon)), \\ (AbilityType=(AbilityName="WOTC_APA_Hound")), \\ (AbilityType=(AbilityName="WOTC_APA_PreciseStrike")), \\ (RandomDeckName="WOTC_APA_Reaper_Deck_2") \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=1), \\ (StatType=eStat_Offense, StatAmount=2), \\ (StatType=eStat_Will, StatAmount=0), \\ (StatType=eStat_Strength, StatAmount=0), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=5), \\ ) ) ; MAJ (6) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="Faceoff", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon)), \\ (AbilityType=(AbilityName="SoulReaper", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon)), \\ (AbilityType=(AbilityName="WOTC_APA_HighCaliber", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon)), \\ (RandomDeckName="WOTC_APA_Reaper_Deck_2") \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=0), \\ (StatType=eStat_Offense, StatAmount=2), \\ (StatType=eStat_Will, StatAmount=0), \\ (StatType=eStat_Strength, StatAmount=0), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=5), \\ ) ) ; COL (7) +SoldierRanks=( AbilitySlots=( \\ (AbilityType=(AbilityName="WOTC_APA_Undermine", ApplyToWeaponSlot=eInvSlot_SecondaryWeapon)), \\ (AbilityType=(AbilityName="WOTC_APA_Annihilation", ApplyToWeaponSlot=eInvSlot_PrimaryWeapon)), \\ (AbilityType=(AbilityName="WOTC_APA_SteadyHands")), \\ (RandomDeckName="WOTC_APA_Reaper_Deck_2") \\ ), \\ aStatProgression=( \\ (StatType=eStat_HP, StatAmount=1), \\ (StatType=eStat_Offense, StatAmount=2), \\ (StatType=eStat_Will, StatAmount=0), \\ (StatType=eStat_Strength, StatAmount=0), \\ (StatType=eStat_Dodge, StatAmount=0), \\ (StatType=eStat_Hacking, StatAmount=5), \\ ) )

You may also want to update the localization for class description and ability tree titles to match; if so, replace the following lines in XComGame.int in Recruitable Reapers' Localization folder:
ClassSummary = "The Reaper specializes in slipping through, and striking from, the shadows.<br/><br/><font color='#CA7200'>Can use Vektor Rifles and Pistols.</font>" AbilityTreeTitles[0] = "Operative" AbilityTreeTitles[1] = "Wraith" AbilityTreeTitles[2] = "Predator" AbilityTreeTitles[3] = "XCOM"

If you want Proficiency Rank icons, add this above the nicknames in the XComGame.int localization file:
!RankIcons=() +RankIcons[0]="UILibrary_Common.rank_rookie" +RankIcons[1]="UILibrary_WOTC_APA_Class_Pack.ranks_Squaddie_Level1" +RankIcons[2]="UILibrary_WOTC_APA_Class_Pack.ranks_Corporal_Level1" +RankIcons[3]="UILibrary_WOTC_APA_Class_Pack.ranks_Sergeant_Level2" +RankIcons[4]="UILibrary_WOTC_APA_Class_Pack.ranks_Lieutenant_Level2" +RankIcons[5]="UILibrary_WOTC_APA_Class_Pack.ranks_Captain_Level2" +RankIcons[6]="UILibrary_WOTC_APA_Class_Pack.ranks_Major_Level3" +RankIcons[7]="UILibrary_WOTC_APA_Class_Pack.ranks_Colonel_Level3"
Last edited by shiremct; 6 Aug, 2021 @ 2:36pm