From e149fb1be6cbced24f830d1e49f85ef9f83793e6 Mon Sep 17 00:00:00 2001 From: Krutchen Date: Fri, 13 May 2016 04:24:45 -0700 Subject: [PATCH 1/4] Fixes raiders being unable to shoot indoor pawns Fixes raiders being unable to fire at colonists who are "inside", ie behind embrasures inside of a building. Do note, this is an initial fix, more work is going to be put into it. Before, ranged attacks had to be able to get a path to the target, now they do not, because of my changes within Detour_AttackTargetFinder --- .../CombatRealism/Detours/DetourInjector.cs | 289 +++++++++--------- .../Detours/Detour_AttackTargetFinder.cs | 213 +++++++++++++ 2 files changed, 362 insertions(+), 140 deletions(-) create mode 100644 Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs diff --git a/Source/CombatRealism/Detours/DetourInjector.cs b/Source/CombatRealism/Detours/DetourInjector.cs index 86e8db3..5b869f5 100644 --- a/Source/CombatRealism/Detours/DetourInjector.cs +++ b/Source/CombatRealism/Detours/DetourInjector.cs @@ -1,140 +1,149 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Reflection; -using RimWorld; -using Verse; -using UnityEngine; -using CommunityCoreLibrary; - -namespace Combat_Realism.Detours -{ - class DetourInjector : SpecialInjector - { - public override bool Inject() - { - // Detour VerbsTick - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(VerbTracker).GetMethod("VerbsTick", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_VerbTracker).GetMethod("VerbsTick", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // Detour TooltipUtility - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(TooltipUtility).GetMethod("ShotCalculationTipString", BindingFlags.Static | BindingFlags.Public), - typeof(Detours_TooltipUtility).GetMethod("ShotCalculationTipString", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // Detour FloatMenuMaker - if(!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(FloatMenuMaker).GetMethod("ChoicesAtFor", BindingFlags.Static | BindingFlags.Public), - typeof(Detours_FloatMenuMaker).GetMethod("ChoicesAtFor", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // ************************************* - // *** Detour Inventory methods *** - // ************************************* - - // ThingContainer - - MethodInfo tryAddSource = typeof(ThingContainer).GetMethod("TryAdd", BindingFlags.Instance | BindingFlags.Public, null, new Type[] { typeof(Thing) }, null); - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(tryAddSource, typeof(Detours_ThingContainer).GetMethod("TryAdd", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - MethodInfo tryDrop2Source = typeof(ThingContainer).GetMethod("TryDrop", - BindingFlags.Instance | BindingFlags.Public, - null, - new Type[] { typeof(Thing), typeof(IntVec3), typeof(ThingPlaceMode), typeof(int), typeof(Thing).MakeByRefType() }, - null); - - MethodInfo tryDrop2Dest = typeof(Detours_ThingContainer).GetMethod("TryDrop", - BindingFlags.Static | BindingFlags.NonPublic, - null, - new Type[] { typeof(ThingContainer), typeof(Thing), typeof(IntVec3), typeof(ThingPlaceMode), typeof(int), typeof(Thing).MakeByRefType() }, - null); - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(tryDrop2Source, tryDrop2Dest)) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(ThingContainer).GetMethod("Get", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_ThingContainer).GetMethod("Get", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(ThingContainer).GetMethod("Remove", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_ThingContainer).GetMethod("Remove", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // Pawn_ApparelTracker - - MethodInfo tryDrop3Source = typeof(Pawn_ApparelTracker).GetMethod("TryDrop", - BindingFlags.Instance | BindingFlags.Public, - null, - new Type[] { typeof(Apparel), typeof(Apparel).MakeByRefType(), typeof(IntVec3), typeof(bool) }, - null); - - MethodInfo tryDrop3Dest = typeof(Detours_Pawn_ApparelTracker).GetMethod("TryDrop", - BindingFlags.Static | BindingFlags.NonPublic, - null, - new Type[] { typeof(Pawn_ApparelTracker), typeof(Apparel), typeof(Apparel).MakeByRefType(), typeof(IntVec3), typeof(bool) }, - null); - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(tryDrop3Source, tryDrop3Dest)) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_ApparelTracker).GetMethod("Wear", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_Pawn_ApparelTracker).GetMethod("Wear", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_ApparelTracker).GetMethod("Notify_WornApparelDestroyed", BindingFlags.Instance | BindingFlags.NonPublic), - typeof(Detours_Pawn_ApparelTracker).GetMethod("Notify_WornApparelDestroyed", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // Pawn_EquipmentTracker - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("AddEquipment", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_Pawn_EquipmentTracker).GetMethod("AddEquipment", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("Notify_PrimaryDestroyed", BindingFlags.Instance | BindingFlags.NonPublic), - typeof(Detours_Pawn_EquipmentTracker).GetMethod("Notify_PrimaryDestroyed", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("TryDropEquipment", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_Pawn_EquipmentTracker).GetMethod("TryDropEquipment", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("TryTransferEquipmentToContainer", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_Pawn_EquipmentTracker).GetMethod("TryTransferEquipmentToContainer", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("TryStartAttack", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_Pawn_EquipmentTracker).GetMethod("TryStartAttack", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // ************************************* - // *** Detour inventory-related methods *** - // ************************************* - - // WorkGiver_InteractAnimal - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(WorkGiver_InteractAnimal).GetMethod("TakeFoodForAnimalInteractJob", BindingFlags.Instance | BindingFlags.NonPublic), - typeof(Detours_WorkGiver_InteractAnimal).GetMethod("TakeFoodForAnimalInteractJob", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // WorkGiver_HunterHunt - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(WorkGiver_HunterHunt).GetMethod("HasHuntingWeapon", BindingFlags.Static | BindingFlags.Public), - typeof(Detours_WorkGiver_HunterHunt).GetMethod("HasHuntingWeapon", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // Tradeable - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Tradeable).GetMethod("PriceFor", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_Tradeable).GetMethod("PriceFor", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - // TradeDeal - if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(TradeDeal).GetMethod("UpdateCurrencyCount", BindingFlags.Instance | BindingFlags.Public), - typeof(Detours_TradeDeal).GetMethod("UpdateCurrencyCount", BindingFlags.Static | BindingFlags.NonPublic))) - return false; - - - return true; - } - } -} +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Reflection; +using RimWorld; +using Verse; +using Verse.AI; +using UnityEngine; +using CommunityCoreLibrary; + +namespace Combat_Realism.Detours +{ + class DetourInjector : SpecialInjector + { + public override bool Inject() + { + // Detour VerbsTick + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(VerbTracker).GetMethod("VerbsTick", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_VerbTracker).GetMethod("VerbsTick", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // Detour TooltipUtility + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(TooltipUtility).GetMethod("ShotCalculationTipString", BindingFlags.Static | BindingFlags.Public), + typeof(Detours_TooltipUtility).GetMethod("ShotCalculationTipString", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // Detour FloatMenuMaker + if(!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(FloatMenuMaker).GetMethod("ChoicesAtFor", BindingFlags.Static | BindingFlags.Public), + typeof(Detours_FloatMenuMaker).GetMethod("ChoicesAtFor", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // ************************************* + // *** Detour Inventory methods *** + // ************************************* + + // ThingContainer + + MethodInfo tryAddSource = typeof(ThingContainer).GetMethod("TryAdd", BindingFlags.Instance | BindingFlags.Public, null, new Type[] { typeof(Thing) }, null); + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(tryAddSource, typeof(Detours_ThingContainer).GetMethod("TryAdd", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + MethodInfo tryDrop2Source = typeof(ThingContainer).GetMethod("TryDrop", + BindingFlags.Instance | BindingFlags.Public, + null, + new Type[] { typeof(Thing), typeof(IntVec3), typeof(ThingPlaceMode), typeof(int), typeof(Thing).MakeByRefType() }, + null); + + MethodInfo tryDrop2Dest = typeof(Detours_ThingContainer).GetMethod("TryDrop", + BindingFlags.Static | BindingFlags.NonPublic, + null, + new Type[] { typeof(ThingContainer), typeof(Thing), typeof(IntVec3), typeof(ThingPlaceMode), typeof(int), typeof(Thing).MakeByRefType() }, + null); + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(tryDrop2Source, tryDrop2Dest)) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(ThingContainer).GetMethod("Get", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_ThingContainer).GetMethod("Get", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(ThingContainer).GetMethod("Remove", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_ThingContainer).GetMethod("Remove", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // Pawn_ApparelTracker + + MethodInfo tryDrop3Source = typeof(Pawn_ApparelTracker).GetMethod("TryDrop", + BindingFlags.Instance | BindingFlags.Public, + null, + new Type[] { typeof(Apparel), typeof(Apparel).MakeByRefType(), typeof(IntVec3), typeof(bool) }, + null); + + MethodInfo tryDrop3Dest = typeof(Detours_Pawn_ApparelTracker).GetMethod("TryDrop", + BindingFlags.Static | BindingFlags.NonPublic, + null, + new Type[] { typeof(Pawn_ApparelTracker), typeof(Apparel), typeof(Apparel).MakeByRefType(), typeof(IntVec3), typeof(bool) }, + null); + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(tryDrop3Source, tryDrop3Dest)) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_ApparelTracker).GetMethod("Wear", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_Pawn_ApparelTracker).GetMethod("Wear", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_ApparelTracker).GetMethod("Notify_WornApparelDestroyed", BindingFlags.Instance | BindingFlags.NonPublic), + typeof(Detours_Pawn_ApparelTracker).GetMethod("Notify_WornApparelDestroyed", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // Pawn_EquipmentTracker + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("AddEquipment", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_Pawn_EquipmentTracker).GetMethod("AddEquipment", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("Notify_PrimaryDestroyed", BindingFlags.Instance | BindingFlags.NonPublic), + typeof(Detours_Pawn_EquipmentTracker).GetMethod("Notify_PrimaryDestroyed", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("TryDropEquipment", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_Pawn_EquipmentTracker).GetMethod("TryDropEquipment", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("TryTransferEquipmentToContainer", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_Pawn_EquipmentTracker).GetMethod("TryTransferEquipmentToContainer", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Pawn_EquipmentTracker).GetMethod("TryStartAttack", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_Pawn_EquipmentTracker).GetMethod("TryStartAttack", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // ************************************* + // *** Detour inventory-related methods *** + // ************************************* + + // WorkGiver_InteractAnimal + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(WorkGiver_InteractAnimal).GetMethod("TakeFoodForAnimalInteractJob", BindingFlags.Instance | BindingFlags.NonPublic), + typeof(Detours_WorkGiver_InteractAnimal).GetMethod("TakeFoodForAnimalInteractJob", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // WorkGiver_HunterHunt + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(WorkGiver_HunterHunt).GetMethod("HasHuntingWeapon", BindingFlags.Static | BindingFlags.Public), + typeof(Detours_WorkGiver_HunterHunt).GetMethod("HasHuntingWeapon", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // Tradeable + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(Tradeable).GetMethod("PriceFor", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_Tradeable).GetMethod("PriceFor", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // TradeDeal + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(TradeDeal).GetMethod("UpdateCurrencyCount", BindingFlags.Instance | BindingFlags.Public), + typeof(Detours_TradeDeal).GetMethod("UpdateCurrencyCount", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + // ************************************* + // ******** AI-related methods ********* + // ************************************* + + // AttackTargetFinder + if (!CommunityCoreLibrary.Detours.TryDetourFromTo(typeof(AttackTargetFinder).GetMethod("BestAttackTarget", BindingFlags.Static | BindingFlags.Public), + typeof(Detour_AttackTargetFinder).GetMethod("BestAttackTarget", BindingFlags.Static | BindingFlags.NonPublic))) + return false; + + return true; + } + } +} diff --git a/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs b/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs new file mode 100644 index 0000000..d6f8c79 --- /dev/null +++ b/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs @@ -0,0 +1,213 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Reflection; +using RimWorld; +using Verse; +using Verse.AI; +using UnityEngine; +using CommunityCoreLibrary; + + +namespace Combat_Realism.Detours +{ + public static class Detour_AttackTargetFinder + { + internal static List tmpTargets = new List(); + + internal static List tempDestList = new List(); + + internal static List tempSourceList = new List(); + + internal static Thing BestAttackTarget(Thing searcher, Predicate validator, float maxTargDist, float minTargDist, TargetScanFlags flags, IntVec3 locus = default(IntVec3), float maxTravelRadiusFromLocus = 3.40282347E+38f) + { + Pawn searcherPawn = searcher as Pawn; + Verb attackVerb = Detour_AttackTargetFinder.GetAttackVerb(searcher); + if (attackVerb == null) + { + Log.Error("BestAttackTarget with " + searcher + " who has no attack verb."); + return null; + } + bool onlyTargetMachines = attackVerb != null && attackVerb.verbProps.projectileDef != null && attackVerb.verbProps.projectileDef.projectile.damageDef == DamageDefOf.EMP; + float minDistanceSquared = minTargDist * minTargDist; + float num = maxTravelRadiusFromLocus + attackVerb.verbProps.range; + float maxLocusDistSquared = num * num; + Predicate predicate = delegate (Thing t) + { + if (t == searcher) + { + return false; + } + if (minDistanceSquared > 0f && (searcher.Position - t.Position).LengthHorizontalSquared < minDistanceSquared) + { + return false; + } + if (maxTravelRadiusFromLocus < 9999f && (t.Position - locus).LengthHorizontalSquared > maxLocusDistSquared) + { + return false; + } + if (!searcher.HostileTo(t)) + { + return false; + } + if (validator != null && !validator(t)) + { + return false; + } + if ((byte)(flags & TargetScanFlags.NeedLOSToAll) != 0 && !searcher.CanSee(t)) + { + if (t is Pawn) + { + if ((byte)(flags & TargetScanFlags.NeedLOSToPawns) != 0) + { + return false; + } + } + else if ((byte)(flags & TargetScanFlags.NeedLOSToNonPawns) != 0) + { + return false; + } + } + if ((byte)(flags & TargetScanFlags.NeedThreat) != 0 && ((IAttackTarget)t).ThreatDisabled()) + { + return false; + } + Pawn pawn = t as Pawn; + if (onlyTargetMachines && pawn != null && pawn.RaceProps.IsFlesh) + { + return false; + } + if ((byte)(flags & TargetScanFlags.NeedNonBurning) != 0 && t.IsBurning()) + { + return false; + } + if (searcher.def.race != null && searcher.def.race.intelligence >= Intelligence.Humanlike) + { + CompExplosive compExplosive = t.TryGetComp(); + if (compExplosive != null && compExplosive.wickStarted) + { + return false; + } + } + return true; + }; + if (Detour_AttackTargetFinder.HasRangedAttack(searcher)) + { + Detour_AttackTargetFinder.tmpTargets.Clear(); + List potentialTargetsFor = Find.AttackTargetsCache.GetPotentialTargetsFor(searcher); + for (int i = 0; i < potentialTargetsFor.Count; i++) + { + Detour_AttackTargetFinder.tmpTargets.Add((Thing)potentialTargetsFor[i]); + } + } + else + { + Detour_AttackTargetFinder.tmpTargets.Clear(); + List potentialTargetsFor = Find.AttackTargetsCache.GetPotentialTargetsFor(searcher); + for (int i = 0; i < potentialTargetsFor.Count; i++) + { + Detour_AttackTargetFinder.tmpTargets.Add((Thing)potentialTargetsFor[i]); + } + if ((byte)(flags & TargetScanFlags.NeedReachable) != 0) + { + Predicate oldValidator = predicate; + predicate = delegate (Thing t) + { + if (!oldValidator(t)) + { + return false; + } + if (searcherPawn != null) + { + if (!searcherPawn.CanReach(t, PathEndMode.Touch, Danger.Some, false, TraverseMode.ByPawn)) + { + return false; + } + } + else if (!searcher.Position.CanReach(t, PathEndMode.Touch, TraverseParms.For(TraverseMode.NoPassClosedDoors, Danger.Deadly, false))) + { + return false; + } + return true; + }; + } + Thing result = GenClosest.ClosestThing_Global(searcher.Position, Detour_AttackTargetFinder.tmpTargets, maxTargDist, predicate); + Detour_AttackTargetFinder.tmpTargets.Clear(); + return result; + } + if (searcherPawn != null && searcherPawn.mindState.duty != null && searcherPawn.mindState.duty.radius > 0f) + { + Predicate oldValidator = predicate; + predicate = ((Thing t) => oldValidator(t) && t.Position.InHorDistOf(searcherPawn.mindState.duty.focus.Cell, searcherPawn.mindState.duty.radius)); + } + int searchRegionsMax = (maxTargDist <= 800f) ? 40 : -1; + return GenClosest.ClosestThingReachable(searcher.Position, ThingRequest.ForGroup(ThingRequestGroup.AttackTarget), PathEndMode.Touch, TraverseParms.For(searcherPawn, Danger.Deadly, TraverseMode.ByPawn, false), maxTargDist, predicate, null, searchRegionsMax, false); + } + + internal static Verb GetAttackVerb(Thing attacker) + { + Pawn pawn = attacker as Pawn; + if (pawn != null) + { + return pawn.TryGetAttackVerb(!pawn.IsColonist); + } + Building_Turret building_Turret = attacker as Building_Turret; + if (building_Turret != null) + { + return building_Turret.AttackVerb; + } + return null; + } + + internal static bool HasRangedAttack(Thing t) + { + if (t is Building_Turret) + { + return true; + } + Pawn pawn = t as Pawn; + if (pawn == null) + { + Log.ErrorOnce("Unknown target searcher: " + t, 7547344); + return true; + } + Thing thing = pawn.MannedThing(); + if (thing != null && thing is Building_Turret) + { + return true; + } + Verb verb = pawn.TryGetAttackVerb(true); + return verb != null && !verb.verbProps.MeleeRange; + } + + public static Thing BestShootTargetFromCurrentPosition(Thing searcher, Predicate validator, float maxDistance, float minDistance, TargetScanFlags flags) + { + return Detour_AttackTargetFinder.BestAttackTarget(searcher, validator, maxDistance, minDistance, flags, default(IntVec3), 3.40282347E+38f); + } + + public static bool CanSee(this Thing seer, Thing target) + { + ShootLeanUtility.CalcShootableCellsOf(Detour_AttackTargetFinder.tempDestList, target); + for (int i = 0; i < Detour_AttackTargetFinder.tempDestList.Count; i++) + { + if (GenSight.LineOfSight(seer.Position, Detour_AttackTargetFinder.tempDestList[i], true)) + { + return true; + } + } + ShootLeanUtility.LeanShootingSourcesFromTo(seer.Position, target.Position, Detour_AttackTargetFinder.tempSourceList); + for (int j = 0; j < Detour_AttackTargetFinder.tempSourceList.Count; j++) + { + for (int k = 0; k < Detour_AttackTargetFinder.tempDestList.Count; k++) + { + if (GenSight.LineOfSight(Detour_AttackTargetFinder.tempSourceList[j], Detour_AttackTargetFinder.tempDestList[k], true)) + { + return true; + } + } + } + return false; + } + } +} From a819330e11e40e7a9fa7a29d1cf616a871cb5579 Mon Sep 17 00:00:00 2001 From: Krutchen Date: Fri, 13 May 2016 04:26:39 -0700 Subject: [PATCH 2/4] Fixes raiders being unable to shoot indoor pawns Fixes raiders being unable to fire at colonists who are "inside", ie behind embrasures inside of a building. Do note, this is an initial fix, more work is going to be put into it. It can be hit and miss at the moment, but it does enable raiders to fight back. Before, ranged attacks had to be able to get a path to the target, now they do not, because of my changes within Detour_AttackTargetFinder --- Assemblies/CombatRealism.dll | Bin 175616 -> 179712 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Assemblies/CombatRealism.dll b/Assemblies/CombatRealism.dll index b1e87a905af3f95b6e1d1741a571a5c297bb9069..6ac2f35d0665867614e66c1652c751a8595557c1 100644 GIT binary patch delta 58905 zcmb@v2Y8fK_CJ2^BzZHL6!K=0nG_&}1cuBclu#0S?=3XxgyI5H1`|+pm`tLGqJY4N zgB=xY*s-m>AU0NU*DhjN3wGCaZL9JBIp@AJnXv5l`+a`T-{vZKA@7KRMnm60UME_8(Uu6dE3m4+h4QMWN!GtMtc%=7H5Y` z)B;E1{opG?>jUA7l~+9!en53mkA{z{lDrQf!2gZG|29gZc>zUJW-C&W>un9c2Wc@~4SglO+jBhU*?Wfi%d4Wq^Q44pMB z0jD|7Bj5EbdG41{}=rPzAOq5blX{H3Y8d!)%|LG`v1>6+2rTNrX;cjUas&9CH+LM{z zT8^nV zpMMUzbf#AO6}Z1z)TA;@^41nKaXY7&7^#-jIGd34v#TugGR=vQ5(eyUq!T?JtmH@8d{9+!pqxr2({G{o2U#_WwWl>mT7d zbDnx4{Fr%B%8yo%4hm1o%FP|bmU|k}YhIq)a{>46Of~|8!i`x4YEbyftb!b7$%|W{ z!?0d{3cr}OB;{vI)!=X+XQ3J_+=EZS{ma44&LpJ{AKaRKu2TEM$*yzN{)6YaIsqKK z$^Cey{a0v0ei?pnm1n3eCCSDK#ul7-@PTsErY3}+_jyqM!`Hj70g^Mr%rJtJ(Gi&$ zW_oZEYG$gL5#Xl41V-up428K{%Bv!y#Yhg{GtZrBrn_fhNu(Qr3E@!1>>}oDoQ9&T z!ri%XDk?2T8uT}0LAI=ETKMORKE-zKFvrX>g0)~EGsnyhPC?Dg32*~cO|C4=*Hv!L zj_Wz6#Yo|v!`D?h)P#e#RsNcgIUP)K{iTP`tm+v4YfopvjJ5>CpwUnwhRoPi)u~`+ zTXMTr^33oc&`)bi&upci7T#FZyI@vZy28Lu0OjVU+}Fd1o= ze*-_TRxu)_#c+!e{}}v0V!=WX#k&hoX)*G-s|Fe6!h=tb7_2f2(88g$2y`PUSQj=& z6{xy!#i+HaJ=D0u_l?R76Z&g7eSJY@s#!s7~JL{c9BsW2NjD560nT zr7qLu>(o%fO5LU#O3x6b?iQm{oKo))$Z6ZdmyUJklrn#wnFsz=!k^b-l!YG|>%(-N z7+ajjbD?+S3t)V;fHo83}Z~Q#i&3~o(?JZ{9!2P%r8KB*8GtuADy3<=4HE{2CETR8~$*9N40j> zf zi^nZEr!BcRliv_BQ#@Yo;@q}8eVFG>;bBT6&cE?v>&xV~gd7OpvbaaV#_2f;HF(9pu@?9tea)pG%Ir16Y|j zGCj!cDV`iyoMx}M*9bHoT(jiD#DeB%_f4p@7=u}Y(`i{#b2xMPX9ZZx+Whl`KCG2~ z{=uvjucWG14}P?6Mq&Y$jpo}Vd?T4}k&X3SaB%85cPFV)2NOa?N^K68HkGRj!;_o# zt1aPwHJzz0Ik>DjQ@JmOoUgu}@*rP20$Wk|mL>%*4sSotoyWAmrQ9?)F~EnKzzzVW zK7QUnb#eH&^QNnd!nNlQ>2wh|JxDV~8rfHM`t8<#{B`2uDT7-Qop#giOQ$4va7*~U z^Gno42j4t@j4H!2PsEnt-w$;`?j^xYO7y$~M>;djOkWBMTo@j4!H2N2^X7vpb2P@~ zK&sygUaZD#;m7uUTo3>_zAG|25;8JLm1%WhzSsBmXd>B$?O_zp0zNkEF8=7&Xyb?`Lhlwt? zg^RXybaEGgYtR_v!c0Y{;o2>;>^w3Xm=4~v1*fEo!>?a_B6FgQ#1`BM8W|gRhW~O& zrP>+(?UDkNxm$;$oVRtHniRfy>n#O4z!YcC1h(g8v1iA@GqydOh+|myUDHr*+Es*% zwSU*r)ZEEn!YOPwM9T*iwlvJr_^N}&*S6S^^NMcHL)q`<$LxzW<%WZQ-26p~IwSnW zJ@-P@HTS++d6V?3uiaL1rxKdDc4LB>;Teu__KZN`L{8oxzWSgCg3lftg3`F}dz=S< zxvwP+;OD2_M0xb-xhQ?laCwoGA3w7I_2Gx+puF}F*MC2>6y@S)r$G4Nv$d)CNqY6! z9JT1+OP@ZM>RkmR;?5=dFmW@Cp#+=f#`uHD>hNRVcT_irk9~iGeT^RAfrFd>c~yda zgGL9#U4JSIrO+L?K6nv3U_%qyIm=F{x?x|+Fi~RZ!z;=rtM~m|1Gqxb7Q>zsVsma z0}kN&`uc4)EsHn$QI^3J7eoHs55-MIc0_^~166a-btxA+v)yJ;i5`+nMO~xAvh!ygk)#MqJxuBP=@FwShdi zkA)2r%)<=Nd+0Yc*_WCu9YYhl$uJE|T~Wwzi*2ws(=Kbke_Wf)jENX#B8KVgo=k-> z>MvqcLSj-zVivXJ;EF>TC4c-83VE(6lHs1^FhtZp2eg*N^puLjS~5Y)7ee0ifoO%1Q_1B_ z^7f!cZZ;EHuS3MKvvFN_A;V5WC*FRz9f7rjjju7pmRP;;s;qbfBL)p>L|c@E?X%)a zSDKgX<&6z1u>P7ja2uvUdlReBHSV81V5dz6(JSnMqZpC$%*QFE{$b2hVYcT($Q;F; zAse@btY(iidp-gU;UdWk3Bafx1U*M_ezsJ+%qnuVidmKlN4>P3q=7SxX!tD&8gLY~ zG~l*nOv7nJy~PSgy)>Vsf{zTM;$c>?BsPxxqOkAh{K0>Rtq$WTF25`t`Kut|1tWxA=|^q( z-{2DV=w;DS*JF4;|57$g249wYl$V;ggB^vd4hv|vq#vCfn*`i0z$9cBY{RVrRpvT+ zS$N^EokChoUc8$8|4`#hOfeH<-oe$gHq71Dut{-4YwcEAPZ}Dw46WgH-eu#)Hj7o1 z>L_kiA+0B=;7vwCFw7b*k2;}#N1PFJVq=%qlQi%#)*j-eRNGd?ZE;4ls*u)`RPe4M zM&LG4yb9rLr9Ve z-;R)RjAa$q#+*5aRanze7jvexwyF>fxQn4RB(nxw59=_jzl=3lX=!0hgS3iLkR3 zcf`^6V)Ea`4Pr)2URqBQ$K3!ep5(Sp0tMY2bbArZLCSB~hC>EF(Rm5G0S593=Sf_O zF!X#He)jj05Lf-5p`8{@;P<;{tMa)ry$&1_{HZ8>mLvV&!+LD)e6T_c*DS#r!nEtLcz%HO@spoh-34?r zSLWQAM`oTgAFR8Nt9)|-443;L^`F~lZT*Il$eG!yBy|g|6gm=j7V5wgx7hf;1 z$2+tbTlr?NzNgvI?ku!;oJD3~{hpG@vr5(W{}F~b4VSaH`df}T+|V$bC1!~cL{@~} zlE$CFU>4uVn_aT!XMo@l)?N}g5~;PRoL&}Uc8N_n40?WHwWVfhO*1N0omyT~6l)p>N=NpyBKyViV?4gD@>xpp$& zX>#yE-e>xJ9iuCd8w0qPhsU-2%*`$Hzfr@%Vp(K3_%@{SL&D)ZOe}gK5FIPgWIZVS!|`+||+}ky(41 zJ$>V-{uo9bTe4cn{|8w08r327V`NCWY9E=Ks2r1G)>u90sLFG>J-s2tfmLNz{a+Pt z(28Gy;?SuT$HKLj*~_=_|7LDlr`92P;NPgv#8j9a>&f32KK3hc`2UEEb*K(qdyu#K zf9u5T)?)06T$`i@OXl|2ARoV0dsm|aGJET_+NS}B6~o!r>}v#Zs}-}|H>;1VN4;Qh zb2icJ8{i*L0yI@r0WqUaw-$vTBD$jw5lxHVA4-IPl|!n{>YCGJ=Cz27%~K7zs*EUq z64-qUqKF4C43%S|P0UcyFN#=ug)fSj9na?DwMX7HRLN2{-PzylS6>q6ce8(7rZ@Yx z7?(wtnmgOd98l~^bC~D1@x!e?4l&s29rKdsW!20f;B0G~+f!ZCpBU#m~kiGQe zX&7An3$KI0dK!i_T+Y)l)EsIA{|1A}9O4{i4$T@CHx++HyE!z#Ka!n&gMpY?PX#EE z$##{~+v1B+JO&(PT}%%*hx^twM7XaJ<_L3W@OAF2en_Xt6?Roznheh1YuwL>7GqD; zCC*WH=V)_8fO*l$al7iTL(2~K_|O_#9pum&tH(61;R^0&ygA+ozRBH~lQ+ z#|OAU+dV$OO?mN4bfP)YH<{||<0owVMrMm{(veh$%20ZJ4xB*MI2b|wDYWVb+q~{4 znUi>ho~-n8hsx{zpG#6(6|eH-)!4~%@qf23nxM?_Eyk6R%N(j-Ux@--op_yID<$LH zCn5Wi72#)5s&b~|iGHqaNd-rom1kFR&UdfBFYC9$T+ zZRu)=x;pY@x+Vs-4F5v`ltn#i z?K4Zwr8Ru$C!OQ95jw}mb>8Yv=jo^JI5U23%+sx{U@+`(p4txCpFIw&O%D4%nSc7P zW3qiDQ&KPh%5G#+O|Q>wdM$@#Epxg3kKmMMrSRqEa^L9x;vH*p3nG&;mC>oZv~`EG zl*Mh@W?hSMZRG4sHEzgtJa? zp=PcM9E&JZxfZajo=G$@4~KScd_q}kuJtXT_S^Q$(Z7BW?2{wu4Q1~74ypVEH<#5x zR@+&YCnpQs+Ns|Vxi$;O)#`=p>{WqN_SJf7J<~k1hHr>c!T(EN@iVQXCORNDMik$B zG;AUjS*mmr8=mENxuUb>tT*d%$Nv9myjZ2zWvQ~#1yLV~gW|m-CvS6Ai?KIy0==ta zk#wiZ?RP!T>37i zc{VTo4d#X#+yjVSbeLyLl(gA)&N0vNEyE>8J%*lZT_!?lZ3Uq86&mROX;U)tMVqfAZui@NmZZ?8{7hi6+ROxf+N9@qeEyhi;F<#hs9M>Pti_Fb| zk0Kdvl|PtyWT6DIG0ysLas4Q<>%55U&MlTY=f&oh`X}R@!}2WnM`W2>jp~^LQNIg? zbE|ifxmDf{b#8-`w&?---OP~74BNfg=5~KxIi$gn_;cv zGCcLz#WS%qS4~WQ4HodV@k6<)d#IH^QvDt7)tV74vd7v>_DJkn{l_j6oL87v_}ZCQ z==K(6rR^)tD}6&SRd1n(XjGefWRZDx@{%fZn^(l8=WKUmS)OvKmm-aMs;H`fhu5Bm zcTIIZY{|OD(}B^oxVF5mn(qUXd2OI0n#}9`h0I(Oc{NY9uP#PCP{OP?m^akiER1_C zn>(SIH>VrT8*8>Q#Z!tFGMOGJ%U6Z{*?q9GjOF)%;P1?}o3m~<_jtOXTHz69cCrW1 z=W2zKP`>KYzbo_KYToLbM)lvv4}EVyEGq|{hps&lcRA_tMn23}T}R!@@pr&HU<6N~ z7nq>se608OZ08;3Uh_bJNwS3f72JNOc_-(ZyUe?M9x@NqyUHR{3RJH5GuBZ3E3d6M znZUoW&;x(xyDo*X_DHxu6^Evl#ZA`jfyz@D8`MfKK3Qou@S3;#agSeIe2;mLZvflU z6t6PQ3jcOk!JfE1(1W|-n_nFrmi7wPzAtbP8KSW#s8wm^p7l+U+V;x1;7%x%UDV>m zi+N=3i46op_EbT{dC)wlz3~AAqA3V|e+){s-z^0PSwYmY$kXkWFSH?g(?b@n=JPIZ zxS8kXe)E3wK=4zUocja(Tc6!I&TZC&_2NOvM4!|l#PVlQ*id+uzkRMz?V;U*!o#ydk0nK;qdqOL4oJm51J45`{mz%{J|@w zFPi$j18}@u)-^4zMUi(qD4&~SJK0~&GLknQLf&`?d81=T)m7CzIHsdouDZMmUr@s? z%#Fj-k6HVpKyald*PM$pP2$%n2vyVB)I&;nFBAG4vrL;DEDc2h-*@UX9Tw<_;E_( z2gxa@j*Rl*H=)hZ7*COVQNFd$LlGDdC-t{s+&B*=;MrCEi;+u9)ChAFNIdWSzG}Vn z`EiNr)JY7l!-!17KiXp9M~EGn1-RbRB~so=6=R?iI;l=`#-I&vo(L^?GvsvDa|Rwq z$3Jlz*CqCd18qiszd32X!`hMP5GY4$}*J~;sIEqu-t7$LN;mZ zwQBz)ag5cGe=Jgk|8>~lpNw`qcqzy-JX5%uOlER&@J$YzWPhy)fixABiepFMp8RM-1wJFfsB?7gbu2 z(UsOF=og#1@(}U;kSpDLdSZfqW~9QSigTjfwAH`Fqk4D5!T1#VjllhUfIThpfJYUo zS&=t9s(U(TM4yx26S4Wfia5KfyF;xHWKYLQu&~rW8(lQ9L*t&+o&ocsB({Wu+lk=D zW=n5#_X%t5dz{@1_ zP&4f=|6Ewg*^A#G$ff%Ha!f#dU3nzet2(NAk-lElBdt@cqy0}r)_GOA8X39Ht18;f zhp>^LU*fU_=0)E1st)R%$S+>izT!$~!f-S2@-vn$5A`8w$wThUuYX$V1yN^2hWS*5 zS`b<5Q{@>8pjEP|3z=kI;C@ISqYaV-P^S#@6IkqT81!i!R|$!FIeU4n7x*J1MGNbD@cg|mAS@m7p` zkBG`TX!0*&Q~ZljCis`2^ejc;5Sq<%I_jwmhJ1 zipFIi`~D^Ubiaj_c39Gia)ej5EK+@3K=^K;tB zncYQEM66~hhhZ>-v476WINY4%Hfc@)H5L%o1;~6H=;I^$(hL0)v z%aI9#;#!;7NWH5h&=!asXAiS1-bHGCgnoPLl%yuhDhWB({RztiZxj2^LZ|88F8Ctl zY}A}MzbE=PpcdW6)A)lF|2b%x<-kQvg6CXRD~=)oC$zYhwI*PjKLCQ^xf^|-9^8mJ z8>Wz*ZB#|QmJue6s9tA~+WA zw`-P?je7`Jya+4L8PXKsxJ*eQ2^J#c#4ObFOS!K+qOV+ zpOoo@$`GGi(lQX2lJN z4F83wVU>1?9Pg>}yLdpfc`ibme+!CWIS&vo7xH45ZzHOPep|p3DXdcSLc-jDyHiHc z$8rH(dQlJJZVrDV#C5l4I(ADeLk77PaJxO1a0j>=Nwm3xtjb+(%aMvLH=dY#GBMAy zRU|_!ns+kQvn{4J|0J3_D#?NcClj+>p6xNw_9szgXbqP#o&6_64J8I*b==9sp;TX4 z1b2Wc2tkdvXzNdZEvi_zdo1HLZ$6 ziEbCKnkPJAwo5$O;Uv4Y$+*me$y~ZETXYLgNQ;3GZ(}&qa`QZR?F5si#kBH{ZIy>y z^;NOB+5$<-GUa-3^X zB?O0n9KT|R0V9VMU@EY^*{u~jByv?>H6-tM4C@yr`8;IGG?_%IwP=1q$KnL|>&=8Yl$tV`Fvr+OvIi{Zv5)Po)re zDGiTo>8HAcw#IDKHXn*%ZF6G9sciOlW>4S4bDM>Z${MeZnLJjT%s<+(`B9ViU};$< zv+tOLLa6ZQVnH>C73Zv2ZexH8N4m)I_95 zj&|NYbz=NPFEF&}#K?=)N{qa%OJAYw2? zsZNmUB$V=@GJlF=5K=)jt>Nx24k!BCW)|ZQc93^#QN^d#Gg!}*sIVMfvf`MtwYnHP zb6b*a1pRpX#L>CDvH@?K8BJ3o-3BUm`)e?^^74fBBM|^twB?%<0@tF+hfAsJB8vyA zlC(Lk_RNm#7>JAVxoAPoTnvlnvxRtt7+uaoHHeKd5k2H_4-2?nud{sM0Ol*O7n)uE z>rn=7;C>gAryXpv$tS)IH=;>@{aF4ds9p?lTkH3@{>Lq!QN%MywF@l=S%0~@2sQb- zSDsMY0zx^Rr8h1U9j9QGH^SU<@2IoPLlRBG8j$~Nfiq5_o3|v3vJ_;eZQ}}29>*Jb zVUX%Pf7L03&&DVN8)T@h`e?PksU!FNqz3p+J#rJCt9J%X9RYcw!tcHi`nL8$8lMi40H$jHP z>v&M7$u{|D)$^Try|SSPcfTIQ@{S1s92yhLOYjZi&5$cUuc1Ad$}AW}8c1Yt3ur++ zJ!J{b>{uZQf!xS-Lsaf?rrG4HRK(G^ga8gSnCnKU_uR@VD;oxJf5@bX<^6O7HQojS zxGNimGU>d?uR~ORXav_cF&i%?8=)WijJ=cKAB-*?S@0lNJO?1HKRgjWtS`dNDUvxO%X3K|+q8PgMHNdV&Xc!(NO^sYWOqC>m33*#!SLBIdswjuWv9@;O$KL|K@D{W? z^20E^dnj%8*baR;cZ4$oOGu9A2E9W^P~%;Je}iEZI5RMt+i|=)D#AIQ>9&B#MRPnp zNt4}~8}X&japd?Z+;q%{Ts~a6LNYuN;e0Kkv3$)vVVY(B_$d389vE76#%5QXbd(i! zlCUSE7e31JDCJvAN!T;dS{`>|E8PQf{E_WSV9by~=$yWm4);VRk5FCvFelj>kZAd| zfNKRD*AwAA{Z6u+7V5X>;EOAv`Tu~kQ?pcf=e7AAgL*%og8f@R#nJouMqqG9J{_S- zX7ec|cr{yN3-C|y3a-0@+^t-ViKT73Px|lO6G&-UwiZ`H)MtccudRo|pCryjkF4MvvyYjTK|AJh|v@AgD1leD% zMbpVw#PJh$9q94%bv>|-kwnVHl<5U=UF7^xs%J=;8|t7ucq90*4sO7Y+cQ&N19O|c zDC1sj0mgyWYKyT5l6rdOGE(#I6J9Q(7n58s91y)EjA;pm_A;wG$Y#hCiaoXf^9O~N zdrF!%6MwgXr}r+zh39S#4w1-fD&vG+=w{{?1In#=W=8LD-L943 zkxfjazXppM!WcX*cG_F=!q;LT^5T@(8W3dB;e>*GV#3&1eNa+`Weq0Bs7S7V40p-B zj{3)A%Tq7cV=*iV!;--?89tl`#Vo{pqUT=Bi8rRw(BoJ3y}&ReiE?ofh)-b=FLy^?8KZ6bJ7E6PEQs{P^#OUvQ@nH==8- zCb@y*UymrRZ(oVrTY;MX#v22_hx>B}S(!u>S1dWV=QN!mSg+eNs}*op@Meqg0EdjM z&DomDmgoe*1GNPh%b0bw#W)-G#wC+hhG-gzlZcI{%{?h@#gIb(+fAvMqBi%WWW2d; z$7|CT!*j4$m)uE<@n;_1TX2{Ee#92<{Y=$93+0_s2|NNNy3|S@jw-S4!ZFRd>7^O9 zzWlc8BnsKsSQP$KPd=I?3PS-7jg!JqVnV`@|B3*IA=?n-Lc*{St)kF{Xu|6gI567e z<8uiZJGs)TTacG*frlVbf;>unx@rbFoa@hvJ%52moT0?5M9)pgiki8Fzo9@n5FL+* z4tNhb2DBg5t5gfx0`Ntm7H^dXbE5t}ou77#d_d$M1R=rmfX=k?8i5cO2=UPns6MQQ zN14n2U@RZY9}f`5KEn7I=y?m7Q|o&Y)1foBJaiaM3F~ule;xTuo-K61;90~iU-8Q~ zu|Zho4}@fgVP>| zB7FPgOE>)TZvUSxZvL<|3EbX**4S~O&z|6U*rM`Bqe7h@(gV`F6JBY;-y=G?CGZHO za$6Fu;qup_o$$)S9E?Q&{Stg%_Nb+pzv2|d@(DP;wk~GK8N#hmBpnLLvUoaXoNufSHe3VQ0?$NEYyC3`8=qj!M-alNB+K7S z@I0x#QvMNi9A+KQqlo)x4}Uo)FpQ4|%zLz10$UDO1#=oGn$@gU9kOl+}JgHmsD)OTx z@G{tf=ZW)hwpLhwBwDY>H;A3qrdYGddfLq9#KxmCs-uyuwV2JA5p8DkRj{=8{1qkN zdy@&>hhHnkPBOnujOh^jG~SrC^(Ti|t5KO&j7@C(+y8FWYjIZbwA}@he$gI%oqhRN z6gK?@(BByI{L6<$68*3Y-=*2QS<%jJT3bIP3N3eOJvdOeb=m}5;I&ree-+oI3a{=c z@<^@9tJWdZ`VA1KRmaimGPXCM!3rUFuuQhWH_?Q*NzbW`*0sk*@l zAc63;N>uzLy{- zidj|M@cCjoi7tm>zv@8vP`c-0KJq+PZ+rvN$O72Pc_-E!mwa#lo`#)1y87RSR}3-D zreBK3Ei^|1p7lG@?C#(@pyG#@J%03b#*~VQ_Q z4f@ElDTJSA1WfD7O@&fcOIauFy*&!TPAPAamTPKUH5rs$`$T;f9j;Ja3_8#LvvV^2 zhCM8c%FvQUlZSB`?!o1UL%3YqpUZJ+Tz>E4(kM_}LRoZ)Q+09C!b!eT7mZowE6t+Q z#($TeMIVn}ooP@WRA-T+n(IGz;c-xM>?*)qz}1Gyz*2CIHwkJ!(H8I#z3xF5f`|1~PTIbo@~f^WW@XuiUhXIlo@S zWxLb4eGl4QRF}q`)#Y&e33xY)?CrnHchQ_aY|7>7Om&p8Z!$vSoO*yPN?Xe1_1#&Z zlXTyA1lR9f#^r!<+`&xYziJ(GnhjjKrZe@=GNaSSa=k-)E}t&saKfc1>R@DTq>m^?D>Eog$P?aca=xM=+<_D!>_g1jo#C4*+oe4^fu$^__&;Q7I;E5bSAU*AI;@{v2-#o z3|iK4b*6)gO9CUaXh|3L#9h-^?1apH=k?q&OiX`JW_`FQy$YRSi6Tl|G`$-Knr9?y z%Q%bqdx@cArgBR+iIUKp(&d+vxakS3g)F*4ocWb>_O_I%SX5bbpM%Q_CEP9;&h_)o zX5UQi#GXjU9B0uNdE9TGZgYU*}`p!^BK(f20qWx4<_p`n}9o z>Yy%m_GL1=gwK1`%zAwlXQ*duSzxay+QCsuw@NucQp&wp1zD7f_ZW~Z)^j>!vt>GEk3wQR>9Nap>gOKtBeoz@r3q53?bcN3XuQZ zqV$;ffJCgy#p<>rOptJ7HBXUHdUqYSyjIWUM^b(}j_YTa^2&aGDA#|I_-__h4|Z|O zqW)YioWRDZd@jEg*|)@_F8-_vsY6_Mri|tzvG<1xHln}e?L3*|=VUJ!-GTZ4DNc6F zHu_C>=6oZIRbSSX%fHExek$VnJ7;rwwRrb;@qwDLXjLp~s-y&N%;IrX>O{74p{-^ACt)&yf*tlHeL4d;bBMpw*?Uh|cD6k#w9Yo@kNo zCt-H8=rK8H+|Y-4W`M__=d*wAmPK#RWV2?hpls9_9Rckra#JWr;Qpl>Yjy+X z3;L=1#+t_{k2(lC&}(DOCZHlgWh*r*5man$ta%%>Qb9#MHrC9i&NNs?xOgBBsWS}| z+ADK5*8EQ1D9YYglc&bebRK^uCChln;=s*lc*Dk;u4*i9eKFd+hE1DBb%JuHFq%bv zL5=krYu3^Ns)u_a2ecIEETLWBP180|Gia_=8*A!l5e0>|bOmc!Oy^OE=VF_mEj=Bt zMRSLD!qSmyxrItcZ>*W9*3foQQx4PciZJaF&JX+Yc6ew_Tvlr>BJYCFb`UwTYe+G-oQK?ex5$cffg# z3eyXMCYLbUgFl_iX8*BBqn89tMHfsvBB)@zMt>1hHI30V`1_pr>yw%EDs0=YuEig# zWHrYTP_L@%@p^bOUdUbyU+l&h-WS??7~$LM0DUj059D^!0o-F}A70&&eRv=4Z?Kjd zLHms!vd}dc#E0t7^lzc9gxMFU$0-$JnIRenYc5cSDTg8DE!HSk(8Y5(o}Z)k=pd84 zLqWrciUhfV?!Zl|QbB1GH0rFH!TADw_!!35RkY-mvoY_{5J7)}Y5!8kX{4ag=V$OJ z{!XJr%~;pQnqSmEX}SNi)ImKe z-S?0d`Ptwho7Lx?6RL*Ql7#S~?? zB@}1U6;5WIsvJTq5YuL>EJ3=%xhh-G>q*QxPr2gc7N}gIoi1{9sz6Yq3~90IAZUg3 z7h0+c1?~|`m#HE_De0_qg(?x`$Y8WmmBw|k8sD|?CBbs z87H@1br;&D;-_Fp)d>7ZENxW%<5-*2z&LcC8WM*#so}O%biZ&h{w6V2$SBeBicG~; zH9C%SyBaGr?Tejiq9FW%5)5gV3QZRHl!VY8HA|2VuWMDEARS)Usl|el#L)ff3_;yx z6gR6?g5DLc-J;eA(vfhNI!n-Uq1~-E2+}<~sG33o|ByL+Qk^HLSlsrs+9c>A8Pg%P zSN-K2#hByj zdO>@|m=DyAwuBJ6UnbUkr1lH(GeIA#n*}YB?mttv#?9#G>VVMnI`~rEX)_EX>!@dD z)0on~p-dgc`;2-Y!k)RQ3AIhxQhvE6H6ekvulX4N49y=y z3X*D@>^Z3kiFDpVmbwCEBJEo;(7=7OA!nleJm(0GbLAsWggl8fbi~&vcaQkqqiFxI z_fg(C^(S?HG>H`TsBp4IlG+8Woxm2(zgSjaVWZ= z?#o0)&zEz(5u;Qzd_@wd3&q4s#+&d;iI;g)e=d&*zkLw%=XdM|>V>7hL25GE4Y~<~ ztZibQwV@^!sBLmWxVGt6lgme$(3I2t%fuekd(voo56VHQsJ*DWO;lWw%TqIU4VSz6 znks>oW~L(jUphObt3lm5a5t}1@Pxj%jHh7fa-M?kmY7`=DW{m*AIGE{6ngDUS693u zFuwqVgVVbq8p^<`s9DOiZeX>X-)VN&t}~mC&FKpMec~;4tRmlkj5{Oi%S4m5cc_4e zE}GL5<*VZcqWome$gZ_bpOo|P(noOgyd3Ies+mnaE7_KowQTj=Gr4?kA(vmGRCN6e zHfW!V>${})lsy`FwkpT`ldp8{NT% z0@n6cIm_;b=>~n%h57rVmVf|S~(6}{Q9!v?TpclG1)Ha~kJYvDF{ z=)1-2zpNqLvK9+c(T>hXC=^W*rt_5X#!7;~1ZIqoRwaMxf%z)V(OLUAznB zJ&QSw99_v>J}4oa(}n9Fc45^`i}B}9=(**r;Td#n(CHGey!uUAk;gvZRbYmw18g^` zpOl~bc^uvPvh9C|>O}gr-wm!r`n^AwE9Z0S2*de_bZ_N4TOth`eWsyk`;s#a#I~fA zUGup6OUB&-kLJz11H-sarm0saHe!dY9lyj-3jBol?=gT0c{0;AVrii0eoTapfJF;9 zXSD{VqA^RDf31YlOA@5t_z=N3?>cnfYdDi3T z@)udD^RNhA^c2dOO+~A}Oq|(t{}e8FN%=zFmx+Do%T>>G?L%)%R3{EWo~OIvYJ;|% z&1C_GRNM6PcrL%M;_@ZPD!K+9#h+oxWe>4G5CL_Fe|!(K|Td{DGK`YklvaUbEx~h7=mcW%^2PwJPJzhhAiGOFK) z(&iZ-L+MQtZUxKUN4+_lXH>TjOg@2@S5v?l+Z(?|fKTvqd2w$pGtd6IYY5M%uwNN8 zHQ{?G9g)ms(&-n%#%Fr)3~fQ4kMi*ThG>wayTkr(w7;^3d9(&DTMeS}R)cu-WKTlN zM=2R7ho*78Fdg*}6=g8%gHn!bmxcP?c2o`*AzAWh+M~X*7msX*y(m^c}Q~?&*l2^G^W<)GPOBf*V!wlWz>mgKQwnr zSch_lZ5=pAk7R!zTGWX8j*$I){E#^IkmGz2xCpEhh{u#|Y(x2mx(?+y;~tdbQyxKi zZt7u_qinB2R!<7=fjo)jqTyXoKcNq#{sro@m9Bq_`hN8Tq_SMRAiJyx@z14_n;IoE zk38cpJj?S)CYZSHcd+ujva4-g7hR21&Ew!yy>?i#w{^aGUZVlXYbSobqd|HyPkM4{ z2r7O_N%g|9i#Ud(tnu-j37&z;IVhjtc&7fVCZe30@BxhDS!|Vx?|_$am*jj%eU-8v z%kquXG2rL5)5`yT*HEj~h0;waN?ta|+o{~yc%)c^UT||_`F0MM8FN3x?L!st2t{A{r*)!{9HQg%hJM5Kc*Y!gVu6L;7e0uu4^(YTHs=P*s`~r5^t3mcvacC@0 z8;H7IR8z9Kv*vVe(TnZ046b`?nDfoJdTl#yf2-mhtdu9(4MW`{o&8(d^^&e4=6Sm> zhwbbnu7}JT9^YGb299;S%+gXvqrOr)zFSPuX1ypzJe;-Og#%W_vn2+Z?IwUzhu%(@ z!ckI-DCv~MQ?mr?Wl9k)7-*+`$$**g>n1^m>AQJ+pRuSDNFmysJ7o%vjfD61@ZVud ztba61(bX1es$Pb(-TQ(xXEL2=gN#y^i_&rh9kNfGv{fb3EJ26qnl)De{WFf!jz>8x z7izXwjhgGV)5tQ0hbV34BA^+9v{F0O32LSN6*Hew>6GbZbcmkG+UU)o%-_FUcl=eZrUs8Fm>=VddNaI&SkWbzn_3d=VW31qeBaB>$xw% zO-lzcv6(KMU!3Kp-vk||KYB&*3HRNDwcwzU3U|Ga4$-i&@2%4ic!!Fcm%`f!bI z?ZLGBMljk;#W{?|jM6B7#I*(9JgO6TnEa=WO3tITnut{q8FRMsgwm5nCFj$}y4Ak^ z>`!d@ls#G$*gH?z=gp@P8p%4!rztUXD`@hski&bk*4*VSpxiN9ZsnR=fl4hjvip7B z_B6plQ@j5eXrrLR_Msu~6W$KAS3?>&yH837dUB$+f5E^$DIKY3ibe??Gx1g1bPHv6 zeAZh;AJj6fnU>@q@s`k(sTz&T?~_tWmsw~4P#L{up|vYs_jaZ!_@;v8UR@RHlhTz| z&DO9U9hTF_a~SQ+rP_;Ay!6dni$?Ezy_7bOkzVmW+93#P)_mfvpy~xo(+jYIMhMc$ zs6r>B813l77-xto=!C##`<;vOf$VimY_>l$@=;YmO9dUGGqB_;=!Ydjqjml-(P8=u zM%vKsG(k`^EyrfmowfR_P_+2B+VYqjtQAMjQw08Kugep4M zLNk|tVymJHEp)-`U%ged!$NP?vD~W~QU4Wx2JK@(I#cwbSu44RPt};reF?qjYC)T6 z%8CSEuMjImL^VOw} zqD+4Ol36eJmHI|ezP#F|XKgf%5OmmnTlo{-(X>$`S)!ofE;u`}*$wRb7}y0Tf{zVMgl!+p&4_=0llgbJ-K=s z&X?k${;x1DjaMdYT_=!G%ItqZvxqyE!6j^k_ogy&|#Wg%bfflL=PqLMl^vu zo45h1x!cR_CQ{J_jI_Hal26cK;>0|Wj#-Ek^Tam!aUxCF%yNe*wTfwvT4-+3EtwPP z!V8(E<6<)HU=+fBmfL?{!elxkL_LbhH02^@JxtuiWV*;gjYD6{oJ`*e(rTtq_btr1 z*}nC(`MxPMMbKfjw(zygDb#DL&?IJRX^2MPT;i*xIzge$cD1O|sHF`S@j+yPTG}C~ z+5QpMb}c<=p{s@VfyMc%Ap17meYI%mE~wf5=8#8KEiJcbGpDeYTP$>jptm#%*{?a9 ziJt9R&B}2rVB1m)9a`lF+GwF&t2O{_vQSXaRzZiUA10=j_G%h}mC>f1qLUtOI1h4} zVMdqJy|cFZX3#ByHdDwqI0w&rn|5o~nS;Az&89v40xg_B70#bS)AtBXoH&Or(+EzC z_~y`kf|~6+a3q;SrB^U#GkuE@&Y>fMHq*X=tYyTNnzpu(QG*~%VF-uQIkYJX1%1{A zm0lI!{f0JZR~vMD8}xh|lznx)mH~qJFdTX`YYwdw*i3&Kat&U#UwfUl^xeY!_yg=u zS}0t4hp&#N@71*Sr~lcvgo>`$Xi1+x`~E~}`!wpb?pfaoT56$7^I!9=rX%|`?fcp9 z`TTU~W{tda-V6EGQ|7GpB_3p&PQiPrNzfs(yPr~f>3|^Zwd*N#pTK7O?g5p?^>oBS`v?5Vem!~bV>Qe= zz2XKMpb^c*s<@Gw?iU&rE@U+80Y-=D_Ia;m-blwD5}K@-eRM)2teCkK`^f%hrs);4 zk2Zt^Znp0o|EbzXdn|Md(#Jk}$U-|iE`s1u3*{Fs13Dq-FrDk|<=#h053|z4G!r|( ze(T?-ZKj5)jAlK;w9Ry0M@Cm$2>-|y(D6rP>)1@kg*E9>t;U=6QrUjW5ww}=PGjV; zXys?@OW02%9uuW9!u_;KBaCoW#eUjnp+VUjZ2Rd^3+?S+Y3!%hEOgN%M)y4~`(LyD za6ZE+Pl!_c(4P5hsi5eXe$zDC*}ooLBtE4Lpvj6ecaZ$ysGy{;G$S%E=)(L8+Ul%C6ND?o28y(f0_NS{VjoaviCATqi zd&O;3_bh8cF2RB3K$~mg1N4E=4%_#aMJhmJ6hhGOHSvKq*Te@X@vv6&MN&T0EElA& zbPu$-(!HIYjHBI77d@xt#@1X@aYq}@duaI!OxtY#eEz5E9%>SV{f`#BmU$1|E^w25 z!@N&y_fp!6%(}_GsComCPtf6%(Sw5R?xh_Tx_`i}75CCZ8ri3x#cNT!=##%_;yG2%Ry<6<32LVG{obf}f{wky zv}W43;w$4R%Ke*0OT8adU~*sA=n7m19-{l+V6>Uesrszq5FHbw&k)biq_>!+FIbaM z)(A%tg*S@gbHWSs>^rQ}+W+ABcLmy?$GU%kN-cB@+vp3l+(HJ9A}`RBg7CgH*2oL= zn?>8SQaF!kEsrf^beV;I7Ia7>EZFZWUZCvbR`*kIf&L=BrXjuPe8T%8CB832+6kpE zQZEZ#;|#WYk#4cj?ZSD)LieoRm+&Ixe#~-*>6`u;1uv5Q6OA_Ibu2hSBLp?m%~O8C zKcIbyAW6X?ycczu#ma)OQ1+*-g0IH2(%)#I&~)zp8~NLy4T5x*|67|Z{~Em(M|-Ue zE%Z8d|BO34ME~gXN5$)Oogm%C8+41H%jwaQvAgJro=BaI#QKW`3}`tsBck0<-0WNYo_g_J(J2SKMc{HZ#3&U4gTU!>G>Gy zTlpFNBuIze3G#f)oZ7S#G*2UY&>U2Gf;L)cn>hk#uZ6ZCo=(tff;QP_P8$bW?su%E z*}l?MX`H|VT7jGF9nWN#`41*;vj4i4(G&}vCbT9&hf;!tOnb{IRmcz7rK69=U)J$DEO+okV|H-sw>f@eL`6c#0frsf~+*JC8E)#S}xfh&P`3+6^ zQL{dVVEdNl{lsV!y(j31pu_6u#Jb9F>8qbL=YoDKD!-!FbP`mVBG({7|n19h;K~cduE%BU71sx{t{$F(aA53ee?^fPl z`XhD2-PWkipYV577-=m(;h!&MbeQgSE4-wZrtpA<1yf5IwiO(Mr}_}IH?RH#Z?}Cc zsM*dp?S3MUjcLvH4mJ6Z`|ba0>`maRtn&ZybI$WTcL%u_kWG-wDsG5NisFLcg5pB1 zsF+tkML|G8CAG^1wcJX~y3uG!+CtM*lnyajBaNdXG}TC^#f&XXO+{(_-kyd5K1=glN5kd$uU?^v0tM^Cx`j-A%9 zK=DRuz6W{TY~Qi_@EGNKy1QAIq;xxVvj8K>Xx!X1w3`j{Q4isEyPHk-QP-RgI=k5# zAGK-fDc;SVxbAOqIF>G+BMJ|wO)pB)YSIH8gRMo~te=m1ee#Y$-E5?fdVk|KL^xkk z9@Dl7TM*%6lG2CmZdPihQ1n^D5A114;rZCq?#Lh5_mbMhF0T&9TFGcDX|CGE#s_nd zPx}$+VF|cf`H@Zcmx*DUCZ7-Zk;Mh*vSS--hF)d;U_9g=yKp(X#%`6=D~#q$*VsNE zMYE)9Y$m2-dQI>?xfjnG_c|^+e`X&@?!D|z$L^tw&kvGe%g5w`@6##v6igy`BvM9Y zKobPPdpI)&z7>g*?aE1gF^*3;iMCKKCmJ1v7u(Z z*hl?+S_;rw$3?1(`avKl8<*!8{E&v6Qr~DQ^u8=buc~ zsZn9?4~^s%({!r2;FF>Kd0duG<%E4P)X9(gs7nR^85+aS&(LKvXBd(b`Qe#5WgQjb zP9DVH$R<+H#Sm_qr3-U|oykM^)!90=KXYJmGQTiKrvmfRl1K47aA!(M%O5x`c?^G7 zQhF$3c|eXX`zU*E@>qT!rqb7ANaNo~>TXuDW=XO;jUS$OLpYwFlGNR-dXx)C3Z`Mk zNKs6gc-c9D+ZO1QGjL7v#2!ZEY%+gK%4*qVH15f~TT;|EHBey-$zKP5Hvx-?ct0QY z`1){`;pRIROQCuFs>}R|fw? z%4*qNs?%|Udd%o_WcJdW!rkUvioTY0E4z}X^b$_xLwvH$#$Cx%d&#Ep$v#=G;&e>w zC7aF{`D8QUZ#v)Uqmuk~C1>^0oWYN~eL{!D>6p<=IFpAg(UbP2byxDtUb1XH*eBb7 z=(BstX7L=KY#(H^_$Eo|MKPP-Cn>!s=I~)lQU9rAs4V92PjFvB{moHyUvoG|5fF9W zLR6HG+F~PWoTNI;Pp{gSJf~No-H=hC&Ec84CckgaL1^ytQB-JiDA_dD=v}xZdr*g@ zYAp*?DZ-xRJBOe4$tK98jaWem)ocE*H7810Eql#y1kq3PQK#_YU@o5n3h~#n-P%6} zAWKZ~H@1P>~mM!F` zNajZLFJjPH$lsBwdM+0B3T7ei@CEY?Z%pnjTf~3z$v#8$i+cH6gbn#*nOas1JN;Uw zThy%^e-R()Q;k6R{#x~bPqqN#(XVA!e6k4`ofh%AD{mCVuQiuRSuGo^Je|CVZ__C^ zds94}ytr4obNOMPYMb%6lKU&!fP6hqKO(=smQC}?+{kY(cS%aO=&vVl zmFyM#k3LzedL?Xrz4+7NlFj1pogZLvjRTYr}`A{PA=f{C3P>0Ddodf^-$$(6+iCN9H{OL zTE)Na5$Nh(nyWc0)T4hyYYAMVAPfa&goDcH}pHX%O74fB#()+8me4C{7 z{%RdR<)f&(TE|bUqA2w4Y8`KrREK%+s(@kZdUZ)RWYi_C;~(gnJYY`nFgKRCBeB#6 zQlGSr50;c3{kmQwS254_X;SpX{9kLNKN(?huLy6*D8gd?jjkypEaquNH{vUH_cR7n zGo?@;MvHl#r1ZoT_ex9&ul5B)i7Da7*XoI(QM9C2Vs6MNF(v#7U6a!&TEgAm_(;lq zNw36|@T*c*%N|DW)myfnN3Ej>YuQB%s_XesN$CkK?Um3nK3B^0F{X^CmE5pe8Q<^j zG2Y)0QcBBsrmiZ@R>t@FC`xEquY{KILsF(&t&Be*DLpY|y%JN-&-p?jtCjPwN>Tq& z_Hy!3-pgzx)Mb>Ia{j$eNwbynNo7(d>r8pC#FX>tQdY|r!fL%`8+h>s@>k31V6_e8 z@5cDIk(=;_goFz)7ueV<(28GCB|go!70!Mwd&DOzF#fmf1D|Y=<+=>aelO6sa zmf3cz9_IEN`TfP(uj?{5yY@eX=B>KN&3*b0tKj`4rT5*Hy=p=wAK=p*qB$MCWt;d^ zpR7bp7)F-IBIwCD(G3g9$bIWLa=X_B;q*2(W&zHyWL5J?@Y#C8pC{=kpj3t94HcG+ zjaAs*u%@TYBqx5ND6OjDGHvo*e_pt>c;;a_hKnCb=V`0s;iv zCf&prSf_eJN7uZ+RObf-DC|k+ucd?g5l7G7WxOmG?8*q#e+A1wNpNuVb;LJj0?4gL zKq%NOnNXeMlI{%Pb^eu&q<;y~WBK?LLcio2sPlClov(BJk^|hxlWx-g&izlzD1vD+ zINd@z>Sol-a==Q8W@;hfTeAsYLNQU8WP>vW0Rbx8yO8)>rVzgv$KERJ<52+tc-y`N z^G}XNdnDF_(=DO9^%|hN^)kD`S6I1>`2P=w!hxMC$kL>*`us{h4g-MTdi2CnBu8ai zksFQ8jHa`5{yQ@A^?&PJ4^xl0XJ&f3-8!LHD15aT(QmIHqa7R_5TLOu8I-tpWkK}G zBa>c}wL~un-S0~&R5A5JM2Y_5)}_5QDYTwCe(oL~dIr?f8wDhMZA1@LuPfRu6kLX^ zylsofeHo2YU;_cUKaZA8cR9Ir=^Cl8hj1NH{{hz1W0WS|tB z;`5;AOh>VfbT*@^3if(}?j}<=EcONTe@L(Al{EF%RJ)Yi#7F%{DnRr^5(xIUe9Cvl zTFM92TaA^XO48D4(tkmk`fi}Y9ve0PF-^QyE*PySz|VP^+Y%YJ{dfG;jHwnuhW zdiHKu0{u!Lh3uXw&Hj7jOkvL>P?bFe)Ud!g00$!YFAWGVVi7c{M#$XgJwZ=jOOPj( z%?6S$()`m@%7C8G;j+~Ah;`0R=%Br1Q1&9+XkZw47Ev|1FN{3v;y2O!6n5X}8=UqY zZoSJQ&FlKqyD2OS_2YkqMqRSPN^yR_Ds`^=8czNHb;2%(MLl{lm%?sBL8xp?f67@6 zotw?h47;JP>*(!X_ti6mMdPn)>fv9ndb%drLt&@-qyE#-t-!*zm?NL|&;p62B{PgvLs| zsb7i0TFL5h9bqLn9-{=j66TMq9@i1J2j^bw0nfb$d(ZZOxd+U>VD1HTFL-;w+Y8=) z1h^l({RnVBc>BRS0KEg?9e~~e@D6}?5PAo}I|#jl;2i|d%xGq92WnUXOl~L8g2UwI z&JAFxgg6XJ5?K;+B<4zVNh|^evvTRKlIY|VPzvu%z>XvN;LgVStWJb`?k&XWvwAR& z{OF#O%CdMj?v-++em|)bC;5Y=d!%%`>sWC}ITmF8IEAxJ_EGY)aCgr+g{62DXdPQK zF&wyW<2m4)6>kB*oqwLqXLA;IKyz8}r_iLEDYN$C=FeG}b}i*6=G0!_tnfPaH)u8} z?_x!T9Eo8apqeA~HQ zhE^xBlYLuoJHnZQEdm{kHVSme4FWFB?Z2Uc7il4mM-cS9nZM(mta%c)D)5`J?YEQN zyQmphk5`tQzcjoRXkYXyFOd1>{KW8g5fCNX%!2|hbF(zHnGb=xmE94eiYo1NidmFv zcNO@q@Z>9nvPvvf{ns-*|)H=q!sdQ*{gWguUG@kjs(!w8d{X;2-B|Zgb z-9~JTGyHXI7dTfpTJbQCthJkeoq0{M8>WtMxYaPjxUn&+htoEQ!?J>q=lLpmbAeAD zoQ9VoSF1^eE&aEut?V7V$f9Ibt6^G0^iSBbOgi-vt2pg$sOKSZkE#vI7Za%Jo!a~) z+_ZR_d_AkyvF)*cP*V-5iGNhxoyzb8tCDVbH1>?zsa(bWLQ;B5JuXY=32Ck;q>(!n z+U#1#0_T6BR>{a3_@a?kt${yUVb@&Zrx_7iD|XuS*BaCpN5^R=*w15b((1rT({c>I z%T5P}im8qJO<%5csMT1X$lZp}{5!QaPDB%@eG{GRqttqM8#wF{E!S`cI}y{>r+`kC zwl$=ypJTVK%kZbs+a zpF_IgMOeaPAWQ5vEFAuoR%dW;8U7zFT@AtB;7+9}=p0MeE{7Qn^@dlM`Wf2!%H(sb z!QgZT+VAt+4ZK5n$n|eSk){^?fZWhVmUQ() z7~I2Y_f0F?lM`#~GE4{@U~J(h!zLM7@fy9|uvKuCz!BQos@!Z5W zjpt<0=VhLp@bD=()ajm=CQaA=Jn}nZD)`roDaK{NX440<8QYCN&k8ejv5(55P3gwM z+3_Z)ao^}c;QTEy+SI5Nhl~I|o%Ao&9VX5ovMgf)_S-v+M<&iRr9`>2%5Bh@wb_pv=@r+GhOj@mh;^K_V4=vswDk15?|E|&J_LQ-BaRvD*cWJ3Bp z7L0_6*0NQmV%>hmfu(!QY0{l#{94PGjT5@#b$>U|tNbGky~Ptl5lc0x)*b zMz9?6-Cp>s<$}Cuq=jV?wbm^Bik4X2#ZAyN%CQJZL>DUW;$EI*sOWPr>t` z+~=&^bZ6EJRMJQQ($2=rHtk_4CUyeK_PMzum%ujXk>s?Yqh{ zK2o;QFBj=8_6rklprz~<_b@u}XeBF&+`Cps(r#(ENfsa~e)jCXrSYkkj>2Dc{0bQmeBL;&%Je8&xE=)99+0jK) z0=i8@o#Cv71x~dp4cs5TT(US?cvavy2Wf!7+F^ z=;bUMyZ9VyXE%>)fZwXM{`RXfud1M?XjkYMm=;FMe;eh<(kMQ|m_m(wB90aMzI>3~ zX+B&w$lfU2&x{{sPcl!prQ2!dnq{{uHHcmn@}5Sa{yfF}UeY3LwSPWywcV`Hrj`cv zHB4Jh$o68BQQD;b6;5|i**>IU`U-l2PtnC)Tztl!ZoZ}X4TSU8v401~VA_{rZgnsF z%-&@P9TUuG8vcqQOqsLL>1a~>V_#gD5|}p>?&g9-M;&{1Sp$y$q67sA3bY^GheeQR zSi8m%B&Z{blSv6v@&}#|i1THDR--p*A?sc-P@SN}5hf{jRs6i-Br^;NWDti|{ z<`^s^$WmxWb`!e;9Z{A!F8Um9%HAyEfg=Ugb{F&$1Dn|Rwc`TY*`p=ra0B!6n8|@? zBO%iR+wdU6s&+n}TLN2IhI6Qa5`7wBrei9WqvVXd5=fk`K=(-G z_*3NXfVyOsXo!K_n#vuFwUe#ujVs+3)`Rs`kX_OvLd)qE5cx!(NN{Pl3R zhHVb2cbgx`-3irj?6{(;fe(Vp1hs47$%lek%(3CWhw8vY+=MIJ;knfuKk@}cvn?F0 zzYDP4St?bF5fKY_=?q=nBq~wW>j)-T23WqOaZ3fxe{M_$Y?> zF4h_nZNgm39UsuwX}o<(qQv2S!z@8Gv$G5bHY&eQnAx{c$r(PkZ@R%zu()rMc4o7k zJ1sPR?~}vpJ~`Cxlf!P8K?$tv+a#lGW6y+A>z_l-+cIU@?!LK(AKj_6 z4Nf2fpPExGjhQDyQY}s4CqvRLU*X1$8>k@K*rOHihq#^QiKD&@p*H$$$Y2@4U>U(- z8Np#0K^Lc8B~IgxvN54FjhqyE77(qm;Iib7=m<^KzAT%8X_j;2H=$3+rlGG*Mt>mRWmBW+L$^P6E%xr^zOc$${%n> zQ#tE#`G5By@dp1Fy5ZximApO5Q=! z^mTc73;TF{VR)7{rtiA&P9-Bzzs)TVZ&%(Q%Nflrs-Pc8>mNFm3+S;s6*?uXQ=x;w zIu#mfJC$$@wT+hba zqM>#vv~i-I`$s&gb}KifVEME{wxkC$p%GmQ?ZD`w(A>e%dl&qTB{ zW#gw2XDxG?d{^3@tga#DBqXY_RG>rb1sQ=%@O{Ger=YJWvBabv%BvMTe@bS_Da8Y z%l*^vG(^mD`h_KNZQ(!rb;@P_o$U7XfstA2$C32h$V7T7lwDb zrD0oH!oty!otC$Ur$u&HKAxB!*}}E_=>nyqu^J`>5UnUSY}V;F%$__sFv&V?YDpRFi} z%25x-oWsidpb>ywU6QRRGA&h{v74PSvxzLq|-c0_dzLO6z)C6%3%-Aj{Ngu_Z&tUsnb z?4-vnc=RZ$Ha`P*gYz8Rbl>lkH(V`N`}l{QP1Y&vnw@sTmVtkC=2|8!y;IAzd^Yi{ z6T^>uPWCLi*iPf-c)I7^>w44KZHigubhNPLc)ZoBjUI8%%{+!b;dy4d_Rzw2oUPUc zga3{|_arqtcbiIrFC)Ei8>su7G~|kNx7s}G-_9=W@bdSSChNtFW+%1#tIjs-r&BC3 zb_+c(tvB8=5)U81cf{0N_LW7%oR``AKxVJqIymOV&?f7W#pb(Wf-w8LN$ap? zWgU&_wE87K64PM~KrQLCp37+ET`2oKW)HtRILzqbbn?w^es8YR;o)&NHN|wft<@7> zfQLhYcBocPY=!&PxR()7Va4k)RcbcwZBbVj{57WAI)C%uz}X5;m$q-j`wBfd{s{W- zMc8>ibS9V$%je)Wg(mN}R0d0cFr`thtmvGuB( z_K7vfZsCNyhix;xnKM4tZfnK@db8=h;K{LJwx(grV?Bn;lkg(lx^!AWY=gQ#vpDvI zy#ICD(ww)(noagFPi&+5S<(ZsaWW}&?2EYHfzy@rOzbInr!ZLBtdk{X;N&A;5+8Ku zoQqAd(Mq>APHmJPH8>sIIv?*q+KnCamAG`VBs?fCOu4Ba-DI5_IU4Ri&zKO`!VXLg zwr1JBn=~u#ivIk^wruLQxLjL!geUH-x*yw~T(+;XZ;vat?U{BkuFAGxR()KK?fuyi zTBmk4g&x}%mAj8Ym7Y+fTJj1oLC}md9*^_bnl?Wjx7&8xTud_6Z7G*|s-f$ETwp@uY><92nw zvkM`3a1>^Tif6-aLnjNzJxZpmL{-X@i(=yIZGIE6Jx`WpgDo5z+Zt_u&Ylq8s{MI9 zo)YpO=0<2umItvdrOEa}(5(0-TS*XXW9v6|Ui?|x)`9u)Z8mF4NqoC)cS;p-#+aJ; zFnQk-#>b!mhw+!9?gD2Xjze^J+FmU?6yIWdXv{w59c(8mS_g9l5eAN1 zZtk|__`d`G8|ClBciXo5y%S%@!sXkszoKubW1BEf%rX28bLaxueKnb%!!5emkNSLi zuW}*YY z>)>w^>W%+GH&P_hoOoMfI-RX0c4^bsy{{zst)J&eO!b?Y9sFY0~{&cV<5!}D1JA> z%#rBg6wV!7bt8!TI7M(+2J{+F1m_$dJis5PGp7L0^Xb4y!SMFl3AC{x;sNN47bBf$%2U*acBNz`-tw zpW*&q?1Z~py03~o2#6_n!LzDt0v~t#NbWG@5amzViJXm6?m^D7fHrLIqlhmk^}tV* z2Y{bR&K2bt{C*Caihj7p{cnp&SYlvz<^L-8?;TT+Iy2(|_o%Wek_Vh4aD z*fF4coczg0ASb*vSfjqG137w`!ObwGxJg041_`>4dzK71aW6&B(j zvye`#l`unMzQkII$0WXFwc`EvfD2agpxC4b8@V$i)=E4k@g<2DB`SWT6Du)8V!p&$ ziN_?qB=Mp|#b4@6%#fHbu@>k?N+t1<#ETM@KGK8442k&?Yb73&_>#nn5|sd{FEK-6 zzQkII$0S~qsMw{Z#0*0BfP6{RN<1d#A6a)l6X;~TM3dLBxXp=msl(Dn8cSPUX-W=OMQtM5?Az-wL#)hiKiuAkjQZC zygDFS;v|VHBvwm2>XtvJC0>xoqR7LFIEp6vCc;S)qen}(L^g(WE=a_@nlvR&lDI-* zwZx+mPfKKDrKZG55?73M6YHoXF6iQM#91Nn^tk6K8i~b3=n3$e8C$TWG zG|_wJ6?{ElB~}BKpflRTDzQLmGZrLOVFA)sEI8WE7+ak-1WVKw%^nUMJ#{p2`MUAI zr@}ITVMC_@D+6Z%M=rk^m^)=La9jpSADK-0Pu;v6m=a8!uY(AyHWvT~&Rqj6b+0eM z&%$9FfKvu-20r5=rB|nH2YxuJ23V1?3%FzrdE1@42bk$1{#MB`CEpGAlLN``&dB?K zo0mKQ9J~H;;0H^d0`?n6A-ulmIf*X03 z5*s#?yL1LE+O|lZv#CNUtjbg+=rw+ej0cY?ypNf1vaLUuh$oS{)_bZ%&*~o zV$yaue(s6-9vIdCC*bRg6s#4T9ApL_A4lHy&6b|S38xGv+q}NWAJW$s1p(h1LHyJ4 z;c%egqrF}^!rkwDnGQy?O?deZ$z3fAVP|@rxp##UZf(_E z;Mv0Yzqn@=F8QDCp89=zD%}t?&wri2B5*f*5vva`@=HJ_J_QQV37jYX1zaFL2QC#~ z0`o){uuyyrTrK_sEXR=sf^Ee1eZjVhAA#G&H7p=}QE>uKE3v>oDe=HFN+R$TB?-hN7PZk$Dp}~ zJr2!1>PW=3e#(Xzs<_XEg9dXzpjPsBR~IUW4j> z_PQDmJO|bN>`kcdXMa%#0sjis1NhXf6L>FqvWZxppgY0`~9%Mg2^B}v5Fb}eypc#cjEVI1cH~FLPD^dHM_c{|}l4G)B zmdC7)*%afBxjp8-n9DK8VxNoci0h0CkG~c_KS8agm7G2Q_F@Sx3htM`J&E|>8vd{% zya%r)UMKv1;W75uhU>hM6GBejq7(I4D*Efc!Ewat9Z6qA%a{x6HCHmT_u5;$zuUsr zVg6W*s|0rv>oJQg#Z`u@9M=Y18?nl=0#_v#fo{UJ8P^tERk&`&wH4PktWDjH6H;%( z<;GRbqOo5w8XqBx#y+nYoE#F1n~Ve;+%SyYj_VFwyK(Jt+ISM58fa2ua@a2Aq%t~Yl&LJ{n%Jeh&Ay76CbnBo zD%-8sgnwMHd3k)2`RVvP^X!B?^WKEjxQcK+%l?}1ytyofG4I?Dc~JAdzw!(m*3C5Q`>o;=4J2k8Xo*>jR`Anxh2K><-0t%xvQP8;@*>g z=XP<+aBuZ{2({?%+>ifvsHGq9AqHj2thvp<`Iy%kZ1dM_D0Ee17HxE`EcPaK@_YM~ z6s-qY;aZMGyfYiT={F7 zxBiNWnAVwmMx zzrL`bxrvK?T+P}zxw3h*B93qq#gVmfYH{;lR565Gr@J=Z>{`FNupqsn`Fl& zr5jNW^Vi_(*|$t9E?wy=ZZ;UjT8n98p=(3_n!*ju>+E7A56mt^(kU5GoL5@8A-`~A z^L-BSp_-6cSOL0MR;CuMFDTr=ijlxM8_2b>(0f;ixLu_{o9&_E99LWw70rJO6P2oC zT4BZ9(u%_M6-BOMUsaeEB~%_%T3oQuRa{iyswmySHtDYB>HWn%EueILah0w+3sx&y z?`?|{FY{H+b@8G_F;tY4LD)Pc2`|Q@=WlRrDlER)RZvv9aq5QB5?QQl6%{Tk1~$(h zB%TwYSv|{w-Kcua+EDR^A5{{Hk8DoG?L9kAthZDYmXztn@D5KCj~R*1gkjF7iDr|L z3WX|J%@nc3ENw?dY(76loaffLuFdN+D=Vs4L1pv9)5MVerXiDAA-a?d!m6ZC`F?$BFY7g3Sd6^sc7^+h3J!3vZ0KPSOAT6Qfo6XT54@z ztD#W=Y9oGK(9K79j zZjUJaC!pV1gS8Wypz`Sd-m|%EVH8^S-y>D+8caPcU z$TK-A9Mw(2CWIhC3!u75i)O$f#$bo%0LkwYj%6a)p2I;@*ggBa4{Q+=d9L@PEu!DN zmmMy9%~^ZR8v^>(C%Gd}ix#|JXf!iB^6W+S>X+>`@7QZzw)v#^*$pL=a2o9n&mn}4 z!08Wy1_&IU`@FNN&_X`+Zmkkwh7Q$Wues#CzeJMci&wA@_ z6;bx5NoEobL?leXj+*V>)3=Ib9_Ib(Rxy*ud(*axMNxR4%z|;4hr^SCjLTmwng?Ps zVQ|zYd7HMv^yS{Sw~A?fhM0^78<`j~d+jK1(l#-V&+=~HhCp+@zuP9V4K9)tdVk&~ z;(3WTe!JKZSY?kkaHPRryWLUi5yDZs)BE^#F`Yl>{jyd>c>Qk^wtlC;N7=~u?Iwrk zG+ENXIJejC_uh1y7-YN0;TeT8!AI$9>%Aqni5Pywd*C)PHloqrj6;Cz9zT0+qZ-Y* z%||+Fo4l89Lq<<}Q`}+$f6aT`EpFv6d;3?5ME`RrD5?or_~-eHcYd|l!r$?}Q7vAb z-Z9qL&*6EGLiG6gQ-P9IP{@%euM0>9em=luhYbH6o=gz-yx_hcD@9XrNz ze+z0lxxCwVh(xY>AKoE;;wJC$onrd*bOdMjEHE_X%_C-k>?$`OTxr^W^ub1%VUrDF@YwD654UZ;lbw%xh>L$ z(Z=D)6jr9#s2py&L%h#Jy<>NayO;fr5^z$F@FclgkQv907yM=5EoNAPT2b|fl+jkQ zDH`aGR;$ruBEy^Pxx#Ezg|H)UP2~S9Wu}o_Z+MgTh+=o8!}Ef}1)hw=(qg}5c zJKBdC{TwxM&EM@6uL$%MFWxD}^Ca)pJH?7Xbb@CE`bijQ=P0DxzBAQZdY7o+>E2K7 zLXnK|_CFxT@GS4*18Ah9yju^5$@qB@R6vfAp`~^?@&cGfW$gXxfS827Bc)FK2R(b@ zK`}Dig|82zB<(w0vd@BAyUg;Ac5mfD@dv*m%9_21>i5nPZ`$3W)UOo+2P0g z+})xm-eZPcOejZ3rOe~b-F`+3m7ox?iyS3(?)FYSge2B^iw=pK(BB?CBocU<_tisU zwEGBxtlmjp(Qg@z3e_ip+9e!$!;FEBnruhq^^pKQY@XgCYlfJvJE-GDXFV6!e3{gT ztRGvc|dAgZvhS-@(gNvj3;p>4>P8zMo3Y*agcOG2$qsp4+aG`?3 zSDw{qrdlbhrWI9{!Y95TQ}Amq(&+?axT9uN&;P9uZ+LK&L44hF%gw zaZR!J^?O8k-!jxwJJKgdM7>oxYAU=x+#_P9Yyph`w)yw)>guIft$TLV?2ti|Jq5HW zK$GluYwqy6?iIn~_E9vlbvkMekOB>edQe4oNILa&~FZKu7x_^+7eW$bsnv3@Mw+F0*W0o)i&iw4#!D1M1NsJm#HU zFJhd#g5^x9pFt+A(guI1yD!ijhbCjY!n}3$BF!F&p3c525Q@c`NDEqEajx2jkksNt;je?DAj$K0>HHApE4Y`zA zNT=AQsNmR$P3knT?8*woyakc!CM?t~SP0KF)uR?!=(B1e#aC0<$Ee8~F~CuYf3T9n zh;oo!G3vy!5m<^A-25$nE09R$*wYYE^Y3Xd)9yId-I_c$ui>iwWhXr#Ie z(=_VlB-h3i-2sHb?7PZg2)K2ou=xdW#TOjgm zb%?t>QhdTM`i511`x`M#4Yk*VdjIho(SP^=lTkq*dERa#)tbRF?634mf$*1UMO<=@ zAf(1f@36xn*gZ)#B1SoKWg~Smv$~cvxM!49o*rs+P*;ntiVE2G=cq{$Mw(jDPkbo0)pyT(nGYYwFKGyWP!c4+t|)TmWm;P&29C zuNWM0aCmmWpJyL6GI=XNtfSuI2SuFWIdY%z-us|P7=PXZ1y3+4MT!YN7nA4$K?=cp z1YenbDit(O@?;Tw1E^u%?gz!qZrgP^UbKQ6KoCUndg{0%leAlj6|ETTxkQBls=p%E zFmhcXUN(`?wO3R7uaV>ma#4b6)(~tV*hg@b;JAv4nuXf#J$+P!@_o(iM`4tkLdj5e z%<=+IMf{^N4RaxW%rQWkXmlkq0MmKWfm4`B(meMeah$t@nUTuWXEB=%sX?L9fK}

tS-gZ9R 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 vTzJ|W`pdzo From 64354ee1f88770225a00a4c00025bced759679b1 Mon Sep 17 00:00:00 2001 From: Krutchen Date: Tue, 17 May 2016 01:37:37 -0700 Subject: [PATCH 3/4] Add files via upload messed something up with attacktargetfinder, now they should fire at you even if you're in an enclosed box. --- .../Detours/Detour_AttackTargetFinder.cs | 32 ------------------- 1 file changed, 32 deletions(-) diff --git a/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs b/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs index d6f8c79..f7d97e6 100644 --- a/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs +++ b/Source/CombatRealism/Detours/Detour_AttackTargetFinder.cs @@ -100,38 +100,6 @@ public static class Detour_AttackTargetFinder { Detour_AttackTargetFinder.tmpTargets.Add((Thing)potentialTargetsFor[i]); } - } - else - { - Detour_AttackTargetFinder.tmpTargets.Clear(); - List potentialTargetsFor = Find.AttackTargetsCache.GetPotentialTargetsFor(searcher); - for (int i = 0; i < potentialTargetsFor.Count; i++) - { - Detour_AttackTargetFinder.tmpTargets.Add((Thing)potentialTargetsFor[i]); - } - if ((byte)(flags & TargetScanFlags.NeedReachable) != 0) - { - Predicate oldValidator = predicate; - predicate = delegate (Thing t) - { - if (!oldValidator(t)) - { - return false; - } - if (searcherPawn != null) - { - if (!searcherPawn.CanReach(t, PathEndMode.Touch, Danger.Some, false, TraverseMode.ByPawn)) - { - return false; - } - } - else if (!searcher.Position.CanReach(t, PathEndMode.Touch, TraverseParms.For(TraverseMode.NoPassClosedDoors, Danger.Deadly, false))) - { - return false; - } - return true; - }; - } Thing result = GenClosest.ClosestThing_Global(searcher.Position, Detour_AttackTargetFinder.tmpTargets, maxTargDist, predicate); Detour_AttackTargetFinder.tmpTargets.Clear(); return result; From bb50a90c63c243944b85d6b5b9c8145b825f36c1 Mon Sep 17 00:00:00 2001 From: Krutchen Date: Tue, 17 May 2016 01:38:10 -0700 Subject: [PATCH 4/4] Add files via upload messed something up with attacktargetfinder, now raiders should fire at you even if you're in an enclosed box. --- Assemblies/CombatRealism.dll | Bin 179712 -> 179200 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Assemblies/CombatRealism.dll b/Assemblies/CombatRealism.dll index 6ac2f35d0665867614e66c1652c751a8595557c1..e008499ef555d099cbb34f12faf9cd027f94d294 100644 GIT binary patch delta 35050 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 R0-rrR6#G8^J=c;Q{eOpr`)U9H delta 35438 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 T<*yZNdxxzr$e&5AW265IsVj{7