fix up floor calc after refactor
Dependencies
- [2]
VPPB2AXMuse target tile floor for peek floor to avoid issues peeking over non-walkable surfaces - [3]
FBVEEM2Fdon't give cover to targets not currenty taking cover - [4]
WVILZZOZfar cover correctly accounts for standard cover - [5]
MPALURGPmaximum far cover is low cover malus - [6]
X4IR7ZAHbaseline from krumiro's [WotC] RW Realistic Aiming Angles - [7]
UA2L2WYUuse correct config file - [8]
6GNTEDE4use real LOS functions to determine Far Cover (automatically accounts for roof edge protection) - [9]
2S6H2GVKlogging - [10]
ZC7RMRAEsimpler no-line-of-sight which also accounts for existing cover, higher resolution far cover
Change contents
- edit in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 755
else if (TargetState.CanTakeCover() && VisInfo.TargetCover == CT_MidLevel){ExistingCoverHeight = 1;TargetHeight = TargetState.UnitHeight - 1; // Crouched behind low cover} - replacement in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 757
ExistingCoverHeight = 2;TargetHeight = TargetState.UnitHeight;if (VisInfo.TargetCover == CT_MidLevel){ExistingCoverHeight = 1;TargetHeight = TargetState.UnitHeight - 1; // Crouched behind low cover}else{ExistingCoverHeight = 2;TargetHeight = TargetState.UnitHeight;} - replacement in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 775
LosTile.Z = `XWORLD.GetFloorTileZ(TargetTile);LosVec = `XWORLD.GetPositionFromTileCoordinates(LosTile); - edit in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 777
LosVec = `XWORLD.GetPositionFromTileCoordinates(LosTile); - replacement in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 785
`log("LOS blocked by far cover vector:"@i@","@VisInfo.TargetCover, true, 'XCom_HitRolls');`log("LOS blocked by far cover vector:"@i@","@VisInfo.TargetCover@","@RayTrace.BlockedTile.X@","@RayTrace.BlockedTile.Y@","@RayTrace.BlockedTile.Z, true, 'XCom_HitRolls'); - replacement in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 803
LosTile.Z = Floor; // not based on peek tile as that can be on a different levelLosTile.Z = TargetTile.Z; // not based on peek tile as that can be on a different level - replacement in RWRealisticAimingAnglesHL/Src/RWRealisticAimingAnglesHL/Classes/Override_X2AbilityToHitCalc_StandardAim.uc at line 810
`log("LOS blocked by far cover vector:"@i, true, 'XCom_HitRolls');`log("Blocking tile:"@RayTrace.BlockedTile.X@","@RayTrace.BlockedTile.Y@","@RayTrace.BlockedTile.Z, true, 'XCom_HitRolls');`log("LOS blocked by far cover vector:"@i@","@RayTrace.BlockedTile.X@","@RayTrace.BlockedTile.Y@","@RayTrace.BlockedTile.Z, true, 'XCom_HitRolls');