Make aimStance record into function

This commit is contained in:
2025-06-03 15:19:35 +01:00
parent 589603e474
commit a17961eac7
20 changed files with 297 additions and 262 deletions
+2 -1
View File
@@ -2,6 +2,7 @@ module Dodge.Creature.YourControl (
yourControl,
) where
import Dodge.Item.AimStance
import Control.Monad
import qualified Data.Map.Strict as M
import Data.Maybe
@@ -134,7 +135,7 @@ setAimPosture = (crStance . posture .~ Aiming) . doAimTwist (- twoHandTwistAmoun
doAimTwist :: Float -> Creature -> Creature
doAimTwist x cr = fromMaybe cr $ do
itRef <- cr ^? crManipulation . manObject . imRootSelectedItem
astance <- cr ^? crInv . ix itRef . itUse . heldAim . aimStance
astance <- fmap aStance $ cr ^? crInv . ix itRef
guard $ astance == TwoHandOver || astance == TwoHandUnder
return $ cr & crDir +~ x