diff --git a/.gitignore b/.gitignore index 34cf9a0a2..d3ce181e1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,4 @@ BuildCache/ PublishedFileID.Id *.upk -*.upk -*.upk *.umap -*.upk diff --git a/LongWarOfTheChosen/Config/XComGameCore.ini b/LongWarOfTheChosen/Config/XComGameCore.ini index 074f56c5a..e7bbb3d58 100644 --- a/LongWarOfTheChosen/Config/XComGameCore.ini +++ b/LongWarOfTheChosen/Config/XComGameCore.ini @@ -263,8 +263,10 @@ NUM_STARTING_SOLDIERS=22 -LootTables = ( TableName = "SupplyExtraction_Basic3", Loots[0]=(Chance=100,MinCount=30,MaxCount=40,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=100,MinCount=12,MaxCount=12,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=100,MinCount=6,MaxCount=7,TemplateName="EleriumDust",RollGroup=3) ) +LootTables = ( TableName = "SupplyExtraction_Basic1", Loots[0]=(Chance=100,MinCount=7,MaxCount=9,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=1,MaxCount=2,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=50,MinCount=1,MaxCount=1,TemplateName="EleriumDust",RollGroup=3) ) -+LootTables = ( TableName = "SupplyExtraction_Basic2", Loots[0]=(Chance=100,MinCount=8,MaxCount=9,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=2,MaxCount=3,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=60,MinCount=2,MaxCount=2,TemplateName="EleriumDust",RollGroup=3) ) -+LootTables = ( TableName = "SupplyExtraction_Basic3", Loots[0]=(Chance=100,MinCount=10,MaxCount=11,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=3,MaxCount=3,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=70,MinCount=3,MaxCount=3,TemplateName="EleriumDust",RollGroup=3) ) ++LootTables = ( TableName = "SupplyExtraction_Basic2", Loots[0]=(Chance=100,MinCount=8,MaxCount=9,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=2,MaxCount=2,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=60,MinCount=2,MaxCount=2,TemplateName="EleriumDust",RollGroup=3) ) ++LootTables = ( TableName = "SupplyExtraction_Basic3", Loots[0]=(Chance=100,MinCount=8,MaxCount=10,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=2,MaxCount=2,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=60,MinCount=2,MaxCount=3,TemplateName="EleriumDust",RollGroup=3) ) ++LootTables = ( TableName = "SupplyExtraction_Basic4", Loots[0]=(Chance=100,MinCount=9,MaxCount=10,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=2,MaxCount=3,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=65,MinCount=3,MaxCount=3,TemplateName="EleriumDust",RollGroup=3) ) ++LootTables = ( TableName = "SupplyExtraction_Basic5", Loots[0]=(Chance=100,MinCount=10,MaxCount=11,TemplateName="Supplies",RollGroup=1), Loots[1]=(Chance=70,MinCount=3,MaxCount=3,TemplateName="AlienAlloy",RollGroup=2), Loots[2]=(Chance=70,MinCount=3,MaxCount=3,TemplateName="EleriumDust",RollGroup=3) ) ; This is for the entire mission ; First one is Gatecrasher loot (force level 0) diff --git a/LongWarOfTheChosen/Config/XComGameData.ini b/LongWarOfTheChosen/Config/XComGameData.ini index d5f0609d7..f54ab1ad9 100644 --- a/LongWarOfTheChosen/Config/XComGameData.ini +++ b/LongWarOfTheChosen/Config/XComGameData.ini @@ -1324,20 +1324,31 @@ TIER3_STRIKE_DMG=(Damage=12, Spread=0, PlusOne=0, Crit=6, Pierce=0, Shred=0, Tag ) +ChestDistributions=(MinForceLevel=1,\\ - MaxForceLevel=7,\\ + MaxForceLevel=4,\\ ChestTypeShuffleBag[0]="Basic1", \\ ) -+ChestDistributions=(MinForceLevel=8,\\ - MaxForceLevel=14,\\ ++ChestDistributions=(MinForceLevel=5,\\ + MaxForceLevel=8,\\ ChestTypeShuffleBag[0]="Basic2", \\ ) -+ChestDistributions=(MinForceLevel=15,\\ - MaxForceLevel=20,\\ ++ChestDistributions=(MinForceLevel=9,\\ + MaxForceLevel=11,\\ ChestTypeShuffleBag[0]="Basic3", \\ ) ++ChestDistributions=(MinForceLevel=12,\\ + MaxForceLevel=15,\\ + ChestTypeShuffleBag[0]="Basic4", \\ + ) + ++ChestDistributions=(MinForceLevel=16,\\ + MaxForceLevel=99,\\ + ChestTypeShuffleBag[0]="Basic5", \\ + ) + + [XComGame.X2StrategyGameRulesetDataStructures] ;-AbilityPointCosts[0]=0 ; Squaddie diff --git a/LongWarOfTheChosen/Config/XComPlots.ini b/LongWarOfTheChosen/Config/XComPlots.ini index 07a4a81bf..d3bdb3bcd 100644 --- a/LongWarOfTheChosen/Config/XComPlots.ini +++ b/LongWarOfTheChosen/Config/XComPlots.ini @@ -3,7 +3,7 @@ ; fix for annoying redscreen -arrPlots=(MapName="Plot_Multiplayer_Test", strType="MP_Test", ExcludeFromStrategy=true, ExcludeFromRetailBuilds=true, ObjectiveTags[0]="Multiplayer", FriendlyNameIndex=MPI_Test) -;kill the shitty supply extract plot +; Kill the shitty Abandoned City supply extract plot that spawns bugged crates. If you want to play it, add a ; in front of the below line. -arrPlots=(MapName="Plot_ABN_SupplyExtract_ElTrain", strType="Abandoned", ObjectiveTags[0]="SupplyExtraction") ; New regular plots diff --git a/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_02.umap b/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_02.umap index 202ca7c70..b7b610d45 100644 Binary files a/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_02.umap and b/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_02.umap differ diff --git a/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_03.umap b/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_03.umap index f3b90c737..bacdd6ac0 100644 Binary files a/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_03.umap and b/LongWarOfTheChosen/Content/Parcels/lg_TedAdventSupplyExtract_03.umap differ diff --git a/LongWarOfTheChosen/Content/Plots/Plot_WLD_SupplyExtract_LgObj_Stream_Ted.umap b/LongWarOfTheChosen/Content/Plots/Plot_WLD_SupplyExtract_LgObj_Stream_Ted.umap index 470d35451..893426e0b 100644 Binary files a/LongWarOfTheChosen/Content/Plots/Plot_WLD_SupplyExtract_LgObj_Stream_Ted.umap and b/LongWarOfTheChosen/Content/Plots/Plot_WLD_SupplyExtract_LgObj_Stream_Ted.umap differ diff --git a/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_ChosenAbilities.uc b/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_ChosenAbilities.uc index 1a0fbfee8..e9f652f41 100644 --- a/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_ChosenAbilities.uc +++ b/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_ChosenAbilities.uc @@ -915,6 +915,7 @@ static function X2DataTemplate CreateKeen() { local X2AbilityTemplate Template; local X2Effect_ChosenKeen KeenEffect; + local X2AbilityTrigger_EventListener EventListener; `CREATE_X2ABILITY_TEMPLATE(Template, 'ChosenKeen'); Template.IconImage = "img:///UILibrary_XPerkIconPack.UIPerk_adrenaline_defense"; @@ -926,11 +927,22 @@ static function X2DataTemplate CreateKeen() Template.AbilityToHitCalc = default.DeadEye; Template.AbilityTargetStyle = default.SelfTarget; + + //fire this after any unit spawns + EventListener = new class'X2AbilityTrigger_EventListener'; + EventListener.ListenerData.EventID = 'OnUnitBeginPlay'; + EventListener.ListenerData.EventFn = class'XComGameState_Ability'.static.AbilityTriggerEventListener_Self; + EventListener.ListenerData.Deferral = ELD_OnStateSubmitted; + EventListener.ListenerData.Filter = eFilter_None; + Template.AbilityTriggers.AddItem(EventListener); + + //fire it when the Chosen spawns. Template.AbilityTriggers.AddItem(default.UnitPostBeginPlayTrigger); KeenEffect = new class'X2Effect_ChosenKeen'; KeenEffect.BuildPersistentEffect(1, true, true); KeenEffect.SetDisplayInfo(ePerkBuff_Bonus, Template.LocFriendlyName, Template.GetMyLongDescription(), Template.IconImage, true, , Template.AbilitySourceName); + KeenEffect.DuplicateResponse = eDupe_Refresh; // to handle it being applied multiple times Template.AddMultiTargetEffect(KeenEffect); diff --git a/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_GearAbilities.uc b/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_GearAbilities.uc index d38d8c1ab..f169bc77a 100644 --- a/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_GearAbilities.uc +++ b/LongWarOfTheChosen/Src/LW_Overhaul/Classes/X2Ability_LW_GearAbilities.uc @@ -159,6 +159,7 @@ static function X2AbilityTemplate CreateStockSteadyWeaponAbility(name TemplateNa local X2AbilityCost_ActionPoints ActionPointCost; local X2Effect_SteadyWeapon ToHitModifier; local X2Condition_UnitEffects SuppressedCondition; + local X2AbilityCost_Ammo AmmoCost; `CREATE_X2ABILITY_TEMPLATE(Template, TemplateName); Template.IconImage = "img:///UILibrary_LW_PerkPack.LW_AbilitySteadyWeapon"; @@ -176,6 +177,12 @@ static function X2AbilityTemplate CreateStockSteadyWeaponAbility(name TemplateNa //Template.bNoConfirmationWithHotKey = true; Template.AddShooterEffectExclusions(); + //require 1 ammo but don't actually consume it, so you can't steady an empty weapon. + AmmoCost = new class'X2AbilityCost_Ammo'; + AmmoCost.iAmmo = 1; + AmmoCost.bFreeCost = true; + Template.AbilityCosts.AddItem(AmmoCost); + Cooldown = new class'X2AbilityCooldown'; Cooldown.iNumTurns = 1; Template.AbilityCooldown = Cooldown;