[WotC] RW Realistic Aiming Angles
ApplyGoodAngleBonusEvenFartherThan11TilesAway = true
ApplyGoodAngleBonusNotOnlyForXComSoldiersButAlsoForAnyoneShooting = true
;GOOD ANGLE (HORIZONTAL ANGLE BONUS)
;You can change at which angle the Good Angle Bonus "starts and ends", either within a "full range" (from Perfectly Frontal to Fully Flanking) or within a shorter range.
;Personally, from 45 degrees (Half Flanking) to 5 degrees (almost Fully Flanking) seems appropriate BECAUSE when people use a tree (for example) to take High Cover, they don’t just place themselves just North, East, South or West especially when the shooter is aiming from South-West but instead they realistically "conveniently adjust" their position "slightly" rotating around the tree (or slightly shifting behind the wall) as much as they can.
MinimumGoodAngleBonusCoverReductionPercentage = 0 ;( 0% means Cover unchanged)
MaximumGoodAngleBonusCoverReductionPercentage = 100 ;(100% means Cover completely ignored)
MinimumGoodAngleBonusStartsAtThisHorizontalAngleBetweenLineOfFireAndCoverSurface = 45 ;(90 means Fully Frontal )
MaximumGoodAngleBonusEndsAtThisHorizontalAngleBetweenLineOfFireAndCoverSurface = 5 ;( 0 means Fully Flanaking)
;HEIGHT ADVANTAGE (VERTICAL ANGLE BONUS AGAINST LOWER TARGETS IN COVER)
;Why just horizontal aiming angles had to affect cover protection?
;I always hated Default-XCom2 +20 Height Advantage not only for being absurdly constant independently from the vertical angle but also for being absurdly applied to anyone independently by their taking cover or not. Nonsense, had to stop. Now that target’s Low/High Cover will be protective as intended only if at the same height of the shooter and gradually decreasing with increasing vertical aiming angle (from 0deg to 90deg).
;Collateral effect: "tall shooters" (such as Sparks or Sectopods) have a natural Height Advantage Aiming Bonus proportional to the height difference with the Target. 😉
;Change to your desired values but, personally, the Target’s Cover should be completely ignored (100% Cover Reduction) not when the Shooter is completely above the target (0deg = Fully Vertical Line of Fire) but a little bit before (30deg).
ApplyVerticalGoodAngleAgainstLowerTargetAsProportionalHeightAdvantage = true
MinimumHeightAdvantageBonusCoverReductionPercentage = 0 ;( 0% means Cover unchanged)
MaximumHeightAdvantageBonusCoverReductionPercentage = 100 ;(100% means Cover completely ignored)
MinimumHeightAdvantageBonusStartsAtThisVerticalAngleBetweenLineOfFireAndCoverSurface = 90 ;(90 means Fully Horizontal Line of Fire)
MaximumHeightAdvantageBonusEndsAtThisVerticalAngleBetweenLineOfFireAndCoverSurface = 30 ;( 0 means Fully Vertical Line of Fire)
;HEIGHT DISADVANTAGE (VERTICAL ANGLE MALUS AGAINST HIGHER TARGETS)
ApplyVerticalBadAngleAgainstHigherTargetAsProportionalHeightDisadvantage = true
;The opposite is true for Targets in cover above the Shooter. This proportional Height Disadvantage Malus gives additional protection (negative value to the shooter) proportionally to how much the low cover on top of a building hides the target more than usual because of the vertical line of sight.
;YES! Finally a Building’s or Mountain’s Border now works as Cover! And the Cover Value it gives varies depending on how much the Border hides the target from the shooter’s view, and therefore the more the target is away from the Border, the more he is hidden. 😉
;With the two effects combined if, for example, a target taking Low Cover on top of a building "takes a step back" (1 tile) he will receive much more that +20 Cover.
;HEIGHT ADVANTAGE/DISADVANTAGE DIFFICULTY BALANCE
;Therefore, although climbing on buildings/mountains doesn’t give anymore a "constant" +20 Bonus against "anyone" below (but a realistically "proportional" one against lower enemies "in cover") it is compensated by receiving a lot of realistically proportional extra cover protection, thus elegantly preserving the difficulty balance originally intended by Firaxis and still making high positions as favourable as before (but in a realistic way). 😉
;HORIZONTAL AND VERTICAL ANGLE BONUSES COMBINED
;Automatic High Cover “Type Detection”!: “Simple”, “Tall”, “Long” High Cover or a combination of them. Determining whether to apply only Horizontal Aiming Good Angle Bonus, only Vertical Aiming Height Advantage Bonus or both simultaneously. For example: On a Target taking a “Simple” High Cover (such as a 1-Tile Rock) both Good Angle and Height Advantage Bonuses can as before be applied (BUT never cumulatively higher than the Cover Value they are reducing, for example: -40LowCover +28GoodAngle +12HeightAdvantage), on a Target taking instead a “Tall” High Cover (such as a tall Tree/Pillar) only Horizontal Aiming Angle Bonus can be applied (for as high as the Shooter climbs, the vertical Tree/Pillar still never offers a Vertical Angle Bonus), on a Target taking instead a “Long” High Cover (such as a long fence, standing the Target NOT at its edge) only Vertical Good Angle Bonus can with this update be applied (for as much as the Shooter on the building tries to “partially flank” the Target, the long fence still never offers an Horizontal Good Angle).
AllowFarCoverToGiveSomeCoverProtection = true
;Personal concept: Low Cover between shooter and target but not immediately near target. Who said that your soldier cannot use that trashcan as cover only because he is not immediately in front of it? Nonsense, in my book if something is partially hiding you from view then it’s partially giving you cover (between +1 and +20, proportionally to how far/much that far Low Cover is hiding the target from the shooter’s view). 😉
;Far Cover is applied obviously only to Targets NOT already taking cover (because the Far Cover would not cover them but their already existing Cover) EXCEPT if they are taking Cover AND a Good Angle is reducing that Cover Value: Only in that case Far Cover can help the Target BUT never with a value higher than the existing Good Angle Bonus (So that the Target will never have cumulative Cover Values above 40/20). Example: 40HighCover -14GoodAngle +14FarCoverPreventingGoodAngle (Instead of +19FarCover). 😉
;Other personal concept: High Cover extended by Low Cover: When a Target taking High Cover “with a Low Cover next to it” is being partially flanked, then the Horizontal Good Angle reducing the High Cover will be only “half applied” since the the Shooter is only flanking the “upper half” of the Target while his “lower half” is still protected by the Extended Low Cover. (Example: -40HighCover +38GoodAngle -19ExtendedLowCoverPreventingGoodAngle). This way a Target using High/Low Covers on 2 sides, the more he is flanked, the more his cover will be reduced from 40 to 20 (realistically gradually switching from High to Low Cover).
;CHECK TRUE LINE OF SIGHT
GiveHitChanceZeroWhenTargetableEnemiesAreInsteadNotTrulyInLineOfSight = true
;Personally designed check to prevent shooting aliens behind walls. Why give 0% Hit Chance instead of simply preventing to target? Because I like that it gives me the opportunity to shoot anyway which, sometimes as a result, does environmental damage sometimes destroying or punching a hole in "what was blocking my view" for, possibly, a second regular shot in the next turn or by a squad-mate.
;Obviously these new modifiers apply also to Enemies targeting your Squad-mates (otherwise it wouldn’t be fair) and don’t apply against units who refuse to or cannot take cover (Sparks, Faceless, Berserkers…) or who are unaware of your presence (therefore not "taking" cover because unaware of danger) unless altering this variable below:
OnlyAlertedTargetsCanHaveTheExtraProtectionOfFarCoverAndHeightDisadvantage = true