diff --git a/RPG/Config/NewPromotionScreenbyDefault/XComPromotionUIMod.ini b/RPG/Config/NewPromotionScreenbyDefault/XComPromotionUIMod.ini index 591be66..07f57dd 100644 --- a/RPG/Config/NewPromotionScreenbyDefault/XComPromotionUIMod.ini +++ b/RPG/Config/NewPromotionScreenbyDefault/XComPromotionUIMod.ini @@ -20,110 +20,110 @@ RevealAllAbilities = true ;+ClassCustomAbilityCost= (ClassName=RM_Biotic, AbilityName=RM_Reave, AbilityCost=5) ; Corporal 1 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=CloseandPersonal, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgTacticalSense, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=LW2WotC_Sentinel, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Gunner, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Grenadier, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=LongWatch, AbilityCost=20) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Blademaster, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=CombatProtocol, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Phantom, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=MedicalProtocol, AbilityCost=20) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ReturnFire, AbilityCost=20) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Reckoning, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=BiggestBooms, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RapidTargeting, AbilityCost=20) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=CloseandPersonal, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgTacticalSense, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=LW2WotC_Sentinel, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Gunner, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Grenadier, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=LongWatch, AbilityCost=20) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Blademaster, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=CombatProtocol, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Phantom, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=MedicalProtocol, AbilityCost=20) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ReturnFire, AbilityCost=20) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Reckoning, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=BiggestBooms, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RapidTargeting, AbilityCost=20) ; Sergeant 2 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HuntersInstinct, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Deadeye, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=CoveringFire, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Shredder, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HeavyOrdnance, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=SteadyHands, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Bladestorm, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HaywireProtocol, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Shadowstrike, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=FieldMedic, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=LightningHands, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Retribution, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Shrapnel, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HDHolo, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HuntersInstinct, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Deadeye, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=CoveringFire, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Shredder, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HeavyOrdnance, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=SteadyHands, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Bladestorm, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HaywireProtocol, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Shadowstrike, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=FieldMedic, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=LightningHands, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Retribution, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Shrapnel, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HDHolo, AbilityCost=25) ; Lieutenant 3 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RunAndGun, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=SurgicalPrecision, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=EverVigilant, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Lockdown, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Quartermaster, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=SharpshooterAim, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Kenjutsu, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ScanningProtocol, AbilityCost=20) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Relocation, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RevivalProtocol, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Quickdraw, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=SkirmisherVengeance, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Overkill, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=IndependentTracking, AbilityCost=20) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RunAndGun, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=SurgicalPrecision, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=EverVigilant, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Lockdown, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Quartermaster, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=SharpshooterAim, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Kenjutsu, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ScanningProtocol, AbilityCost=20) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Relocation, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RevivalProtocol, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Quickdraw, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=SkirmisherVengeance, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Overkill, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=IndependentTracking, AbilityCost=20) ; Captain 4 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=CloseEncounters, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RPGO_LightEmUp, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Sentinel, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ChainShot, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=VolatileMix, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgDeathFromAbove, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgCutthroat, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Interference, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Stealth, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=FieldSurgeon, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=TriggerHappy, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ManualOverride, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RemoteStart, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=TargetDefinition, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=CloseEncounters, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RPGO_LightEmUp, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Sentinel, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ChainShot, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=VolatileMix, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgDeathFromAbove, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgCutthroat, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Interference, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Stealth, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=FieldSurgeon, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=TriggerHappy, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ManualOverride, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RemoteStart, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=TargetDefinition, AbilityCost=25) ; Major 5 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=CloseCombatSpecialist,AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgAggression, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ReadyForAnything, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HailOfBullets, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgBombard, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HitWhereItHurts, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Implacable, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ThreatAssessment, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgDangerSense, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RescueProtocol, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgZoneOfControl, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Justice, AbilityCost=30) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=TotalCombat, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=VitalPointTargeting, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=CloseCombatSpecialist, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgAggression, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ReadyForAnything, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HailOfBullets, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgBombard, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HitWhereItHurts, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Implacable, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ThreatAssessment, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgDangerSense, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RescueProtocol, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgZoneOfControl, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Justice, AbilityCost=30) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=TotalCombat, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=VitalPointTargeting, AbilityCost=25) ; Colonel 6 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=BringEmOn, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RapidFire, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=KillZone, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=BulletShred, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Salvo, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=InTheZone, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Untouchable, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=FailSafe, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HitandRun, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RestorativeMist, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Faceoff, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Whiplash, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HomingMine, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Multitargeting, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=BringEmOn, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RapidFire, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=KillZone, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=BulletShred, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Salvo, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=InTheZone, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Untouchable, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=FailSafe, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HitandRun, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RestorativeMist, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Faceoff, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Whiplash, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HomingMine, AbilityCost=35) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Multitargeting, AbilityCost=35) ; Brigadier 7 -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Lethal, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=KillEmAll, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=HighNoon, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=SaturationFire, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Rocketeer, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=SniperElite, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Reaper, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=CapacitorDischarge, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=RpgStealthTactics, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=EmergencyProtocol, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=FanFire, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=ForwardOperator, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=Sabotage, AbilityCost=25) -+ClassCustomAbilityCost= (ClassName=UniversalSoldier, AbilityName=PermanentTracking, AbilityCost=25) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Lethal, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=KillEmAll, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=HighNoon, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=SaturationFire, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Rocketeer, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=SniperElite, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Reaper, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=CapacitorDischarge, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=RpgStealthTactics, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=EmergencyProtocol, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=FanFire, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=ForwardOperator, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=Sabotage, AbilityCost=45) ++ClassCustomAbilityCost = (ClassName=UniversalSoldier, AbilityName=PermanentTracking, AbilityCost=45) ;Mod compatibility Settings diff --git a/RPG/Config/XComClassData.ini b/RPG/Config/XComClassData.ini index 2488b1a..9b8e068 100644 --- a/RPG/Config/XComClassData.ini +++ b/RPG/Config/XComClassData.ini @@ -45,22 +45,22 @@ -BaseAbilityPointsPerPromotion=10 +BaseAbilityPointsPerPromotion=35 --AbilityPointsIncrementPerPromotion=2 -+AbilityPointsIncrementPerPromotion=0 +;-AbilityPointsIncrementPerPromotion=2 +;+AbilityPointsIncrementPerPromotion=0 [Reaper X2SoldierClassTemplate] -BaseAbilityPointsPerPromotion=10 +BaseAbilityPointsPerPromotion=35 --AbilityPointsIncrementPerPromotion=2 -+AbilityPointsIncrementPerPromotion=0 +;-AbilityPointsIncrementPerPromotion=2 +;+AbilityPointsIncrementPerPromotion=0 [Templar X2SoldierClassTemplate] -BaseAbilityPointsPerPromotion=10 +BaseAbilityPointsPerPromotion=35 --AbilityPointsIncrementPerPromotion=2 -+AbilityPointsIncrementPerPromotion=0 +;-AbilityPointsIncrementPerPromotion=2 +;+AbilityPointsIncrementPerPromotion=0 [XComGame.X2SoldierClass_DefaultClasses] +SoldierClasses=UniversalSoldier @@ -126,6 +126,7 @@ +AllowedWeapons=(SlotType=eInvSlot_SecondaryWeapon, WeaponType="empty") +AllowedWeapons=(SlotType=eInvSlot_HeavyWeapon, WeaponType="heavy") +BaseAbilityPointsPerPromotion=30 ++AbilityPointsIncrementPerPromotion=2 +AllowedArmors=soldier +RandomAbilityDecks=( \\ diff --git a/RPG/Config/XComGameData.ini b/RPG/Config/XComGameData.ini index 4ce8f52..fc9b65f 100644 --- a/RPG/Config/XComGameData.ini +++ b/RPG/Config/XComGameData.ini @@ -40,8 +40,8 @@ +AbilityPointCosts[3]=25 ; Lieutenant +AbilityPointCosts[4]=25 ; Captain +AbilityPointCosts[5]=25 ; Major -+AbilityPointCosts[6]=25 ; Colonel -+AbilityPointCosts[7]=25 ; Brigadier ++AbilityPointCosts[6]=35 ; Colonel ++AbilityPointCosts[7]=45 ; Brigadier -HealSoldierProject_TimeScalar[0]=1.5 ;Easy -HealSoldierProject_TimeScalar[1]=1.5 ;Normal diff --git a/RPG/Src/StatUpgradeUI/Classes/X2EventListener_StatUI.uc b/RPG/Src/StatUpgradeUI/Classes/X2EventListener_StatUI.uc index 1bbf75e..c876e48 100644 --- a/RPG/Src/StatUpgradeUI/Classes/X2EventListener_StatUI.uc +++ b/RPG/Src/StatUpgradeUI/Classes/X2EventListener_StatUI.uc @@ -18,6 +18,7 @@ static function array CreateTemplates() Templates.AddItem(CreateMainMenuListenerTemplate()); Templates.AddItem(CreateListenerTemplate_OnUnitRankUp()); + Templates.AddItem(CreateListenerTemplate_OnCompleteRespecSoldier()); return Templates; } @@ -52,26 +53,50 @@ static function CHEventListenerTemplate CreateListenerTemplate_OnUnitRankUp() return Template; } -static function EventListenerReturn OnUnitRankUp(Object EventData, Object EventSource, XComGameState GameState, Name Event, Object CallbackData) +static function CHEventListenerTemplate CreateListenerTemplate_OnCompleteRespecSoldier() +{ + local CHEventListenerTemplate Template; + + `CREATE_X2TEMPLATE(class'CHEventListenerTemplate', Template, 'RPGCompleteRespecSoldier'); + + Template.RegisterInStrategy = true; + + Template.AddCHEvent('CompleteRespecSoldier', OnCompleteRespecSoldier, ELD_Immediate); + `LOG("Register Event CompleteRespecSoldier",, 'RPG'); + + return Template; +} + +static function EventListenerReturn OnCompleteRespecSoldier(Object EventData, Object EventSource, XComGameState GameState, Name Event, Object CallbackData) { local XComGameState_Unit UnitState; local UnitValue StatPointsValue; - local int Index, StatPointsPerPromotion; + local int SpentSoldierSP, SoldierSP; UnitState = XComGameState_Unit(EventData); if (UnitState != none) { - Index = default.ClassStatPointsPerPromotion.Find('SoldierClassTemplateName', UnitState.GetSoldierClassTemplateName()); + SpentSoldierSP = GetSpentSoldierSP(UnitState); + SoldierSP = GetSoldierSP(UnitState); + + UnitState.SetUnitFloatValue('StatPoints', SoldierSP + SpentSoldierSP, eCleanup_Never); + } + + return ELR_NoInterrupt; +} + +static function EventListenerReturn OnUnitRankUp(Object EventData, Object EventSource, XComGameState GameState, Name Event, Object CallbackData) +{ + local XComGameState_Unit UnitState; + local UnitValue StatPointsValue; + local int StatPointsPerPromotion; - if (Index != INDEX_NONE) - { - StatPointsPerPromotion = default.ClassStatPointsPerPromotion[Index].StatPointsPerPromotion; - } - else - { - StatPointsPerPromotion = default.DefaultStatPointsPerPromotion; - } + UnitState = XComGameState_Unit(EventData); + + if (UnitState != none) + { + StatPointsPerPromotion = GetClassStatPointsPerPromition(UnitState); UnitState = XComGameState_Unit(GameState.CreateStateObject(class'XComGameState_Unit', UnitState.ObjectID)); UnitState.GetUnitValue('StatPoints', StatPointsValue); @@ -156,3 +181,32 @@ simulated function OnSelectionChanged(UIList ContainerList, int ItemIndex) NextOnSelectionChanged(ContainerList, ItemIndex); } +static function int GetClassStatPointsPerPromition(XComGameState_Unit UnitState) +{ + local int Index; + + Index = default.ClassStatPointsPerPromotion.Find('SoldierClassTemplateName', UnitState.GetSoldierClassTemplateName()); + + if (Index != INDEX_NONE) + { + return default.ClassStatPointsPerPromotion[Index].StatPointsPerPromotion; + } + else + { + return default.DefaultStatPointsPerPromotion; + } +} + +static function int GetSpentSoldierSP(XComGameState_Unit UnitState) +{ + local UnitValue StatPointsValue; + UnitState.GetUnitValue('SpentStatPoints', StatPointsValue); + return int(StatPointsValue.fValue); +} + +static function int GetSoldierSP(XComGameState_Unit UnitState) +{ + local UnitValue StatPointsValue; + UnitState.GetUnitValue('StatPoints', StatPointsValue); + return int(StatPointsValue.fValue); +}