Refactor crPos to be a V3
This commit is contained in:
@@ -95,7 +95,7 @@ chaseCritAwarenessUpdate w cr = case _cpAttention $ _crPerception cr of
|
||||
replicate numjits [RandomImpulse thejitter]
|
||||
++ [[ChangeStrategy $ CloseToMelee 0]]
|
||||
)
|
||||
, AimAt 0 (w ^?! cWorld . lWorld . creatures . ix 0 . crPos)
|
||||
, AimAt 0 (w ^?! cWorld . lWorld . creatures . ix 0 . crPos . _xy)
|
||||
]
|
||||
| otherwise = id
|
||||
|
||||
@@ -147,14 +147,14 @@ newExtraAwareness cr w cid
|
||||
| not $ canSeeIndirect (_crID cr) cid w = Nothing
|
||||
| otherwise = Just . Suspicious $ visionCheck cr tpos * awakeLevelPerception cr
|
||||
where
|
||||
tpos = w ^?! cWorld . lWorld . creatures . ix cid . crPos -- _crPos $ _creatures (_cWorld w) IM.! cid
|
||||
cpos = _crPos cr
|
||||
tpos = w ^?! cWorld . lWorld . creatures . ix cid . crPos . _xy -- _crPos $ _creatures (_cWorld w) IM.! cid
|
||||
cpos = cr ^. crPos . _xy
|
||||
|
||||
visionCheck :: Creature -> Point2 -> Float
|
||||
visionCheck cr tpos = doFloatFloat (_viFOV vi) ang * doFloatFloat (_viDist vi) d
|
||||
where
|
||||
vi = _cpVision $ _crPerception cr
|
||||
cpos = _crPos cr
|
||||
cpos = cr ^. crPos . _xy
|
||||
dirvec = unitVectorAtAngle (_crDir cr)
|
||||
ang = angleVV dirvec (tpos - (cpos - crRad (cr ^. crType) *^ dirvec))
|
||||
d = dist tpos cpos
|
||||
@@ -187,4 +187,4 @@ soundIsClose w cr (pos, vol) =
|
||||
&& vol > doFloatFloat (_auDist . _cpAudition $ _crPerception cr) (dist pos cpos)
|
||||
&& hasLOS cpos pos w
|
||||
where
|
||||
cpos = _crPos cr
|
||||
cpos = cr ^. crPos . _xy
|
||||
|
||||
Reference in New Issue
Block a user