From 2abc0105602dd4b71e614a1914d22e155bb31ffb Mon Sep 17 00:00:00 2001 From: "Anuradha (Anu) Dissanayake" Date: Sun, 30 Oct 2022 13:18:29 +1300 Subject: [PATCH] Update to v1.4 --- .../1.4/Assemblies/AvoidFriendlyFire.dll | Bin 0 -> 27136 bytes mod-structure/About/About.xml | 1 + .../UpdateFeatureDefs/UpdateFeatureDefs.xml | 14 +++++------ .../AvoidFriendlyFire.csproj | 9 +++---- src/AvoidFriendlyFire/FireManager.cs | 6 ++--- src/AvoidFriendlyFire/FireProperties.cs | 22 +++--------------- .../Properties/AssemblyInfo.cs | 5 ++-- src/AvoidFriendlyFire/packages.config | 4 ++-- 8 files changed, 22 insertions(+), 39 deletions(-) create mode 100644 mod-structure/1.4/Assemblies/AvoidFriendlyFire.dll diff --git a/mod-structure/1.4/Assemblies/AvoidFriendlyFire.dll b/mod-structure/1.4/Assemblies/AvoidFriendlyFire.dll new file mode 100644 index 0000000000000000000000000000000000000000..cfa20c00b35ea41f75bb58715dbd22515091c41d GIT binary patch literal 27136 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 uY3}g-UyP?!ti1.1

  • 1.2
  • 1.3
  • +
  • 1.4
  • diff --git a/mod-structure/Defs/UpdateFeatureDefs/UpdateFeatureDefs.xml b/mod-structure/Defs/UpdateFeatureDefs/UpdateFeatureDefs.xml index d184798..61a2e95 100644 --- a/mod-structure/Defs/UpdateFeatureDefs/UpdateFeatureDefs.xml +++ b/mod-structure/Defs/UpdateFeatureDefs/UpdateFeatureDefs.xml @@ -1,42 +1,42 @@ - + Avoid Friendly Fire AvoidFriendlyFire https://ludeon.com/forums/index.php?topic=35571.0 - + AvoidFriendlyFire_0_17_6 0.17.6 Mod now supports weapons with forced miss radius, such as miniguns - + AvoidFriendlyFire_0_18_2 0.18.2 Shooters will no longer worry about pawns wearing a shield belt with at least 10% power standing in the line of fire. You can now attack with shielded infantry while ranged troops continue to fire over them from behind. If the shield drops below 10% power while the pawn is still subject to friendly fire, then the shooters will stop. They will resume shooting after the shield gets above 10%. This behaviour can be disabled from the mod options if needed. - + AvoidFriendlyFire_0_18_5 0.18.5 Added a setting in Mod Options to always enable 'Avoid FF' status on a pawn when it's undrafted. If you tend to disable the 'Avoid FF' setting on pawns during combat, using this option will ensure it is always turned back on again before the next combat. This new option is off by default. - + AvoidFriendlyFire_0_18_7 0.18.7 Pet protection can now be turned off in Mod Options if desired. This can be useful when using tamed boomrats as weapons, or with certain mods. - + AvoidFriendlyFire_1_0_3 1.0.3 In Rimworld 1.x, low skill shooters have a larger miss radius than higher skilled ones. This mod now accounts for that. This can be turned off in mod settings to revert to the fixed "one-tile miss radius" assumption, but that may result in friendly fire hits. - + AvoidFriendlyFire_1_0_4 1.0.4 Shooters who are being blocked by friendlies (but would otherwise have a target) will now have their name on the map and in the Colonist Bar be written in cyan. Likewise, the first friendly blocking any shooter will show up in green. diff --git a/src/AvoidFriendlyFire/AvoidFriendlyFire.csproj b/src/AvoidFriendlyFire/AvoidFriendlyFire.csproj index 9317c0d..8811175 100644 --- a/src/AvoidFriendlyFire/AvoidFriendlyFire.csproj +++ b/src/AvoidFriendlyFire/AvoidFriendlyFire.csproj @@ -23,15 +23,15 @@ false - - ..\packages\Lib.Harmony.2.1.1\lib\net472\0Harmony.dll + + ..\packages\Lib.Harmony.2.2.2\lib\net472\0Harmony.dll False ..\..\ThirdParty\Assembly-CSharp.dll - ..\packages\UnlimitedHugs.Rimworld.HugsLib.9.0.0\lib\net472\HugsLib.dll + ..\packages\UnlimitedHugs.Rimworld.HugsLib.10.0.1\lib\net472\HugsLib.dll @@ -89,9 +89,6 @@ ..\..\ThirdParty\UnityEngine.DSPGraphModule.dll - - ..\..\ThirdParty\UnityEngine.FileSystemHttpModule.dll - ..\..\ThirdParty\UnityEngine.GameCenterModule.dll diff --git a/src/AvoidFriendlyFire/FireManager.cs b/src/AvoidFriendlyFire/FireManager.cs index 585edb7..d5931c2 100644 --- a/src/AvoidFriendlyFire/FireManager.cs +++ b/src/AvoidFriendlyFire/FireManager.cs @@ -80,14 +80,14 @@ private bool IsPawnWearingUsefulShield(Pawn pawn) foreach (Apparel apparel in pawn.apparel.WornApparel) { - var shield = apparel as ShieldBelt; - if (shield == null) + if (apparel.def != ThingDefOf.Apparel_ShieldBelt) continue; + var shield = apparel.AllComps.FirstOrDefault(c => c is CompShield) as CompShield; if (shield.ShieldState != ShieldState.Active) return false; - var energyMax = shield.GetStatValue(StatDefOf.EnergyShieldEnergyMax); + var energyMax = shield.parent.GetStatValue(StatDefOf.EnergyShieldEnergyMax); return shield.Energy / energyMax > 0.1f; } diff --git a/src/AvoidFriendlyFire/FireProperties.cs b/src/AvoidFriendlyFire/FireProperties.cs index f76bfda..dcdc4b1 100644 --- a/src/AvoidFriendlyFire/FireProperties.cs +++ b/src/AvoidFriendlyFire/FireProperties.cs @@ -88,21 +88,16 @@ public float GetAimOnTargetChance() factorFromWeather = CasterMap.weatherManager.CurWeatherAccuracyMultiplier; } - ThingDef coveringGas = null; + var factorFromCoveringGas = 1f; foreach (var point in GenSight.PointsOnLineOfSight(Origin, Target)) { if (!point.CanBeSeenOver(CasterMap)) break; - Thing gas = point.GetGas(CasterMap); - if (IsThisGasMorePenalisingThan(gas, coveringGas)) - { - coveringGas = gas.def; - } + if (point.AnyGas(CasterMap, GasType.BlindSmoke)) + factorFromCoveringGas = 1f - GasUtility.BlindingGasAccuracyPenalty; } - var factorFromCoveringGas = 1f - (coveringGas?.gas.accuracyPenalty ?? 0f); - var result = factorFromShooterAndDist * factorFromEquipment * factorFromWeather * factorFromCoveringGas; if (result < 0.0201f) @@ -111,17 +106,6 @@ public float GetAimOnTargetChance() return result; } - private static bool IsThisGasMorePenalisingThan(Thing gas, ThingDef otherGas) - { - if (gas == null) - return false; - - if (otherGas == null) - return true; - - return otherGas.gas.accuracyPenalty < gas.def.gas.accuracyPenalty; - } - private bool HasClearShotFrom(IntVec3 tryFromOrigin) { var lineStarted = false; diff --git a/src/AvoidFriendlyFire/Properties/AssemblyInfo.cs b/src/AvoidFriendlyFire/Properties/AssemblyInfo.cs index 0746758..2a4408b 100644 --- a/src/AvoidFriendlyFire/Properties/AssemblyInfo.cs +++ b/src/AvoidFriendlyFire/Properties/AssemblyInfo.cs @@ -31,8 +31,9 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.3.11.0")] -[assembly: AssemblyFileVersion("1.3.11.0")] +[assembly: AssemblyVersion("1.4.12.0")] +[assembly: AssemblyFileVersion("1.4.12.0")] + diff --git a/src/AvoidFriendlyFire/packages.config b/src/AvoidFriendlyFire/packages.config index f6700a4..7d7ba5f 100644 --- a/src/AvoidFriendlyFire/packages.config +++ b/src/AvoidFriendlyFire/packages.config @@ -1,5 +1,5 @@  - - + + \ No newline at end of file