Files
loop/src/Dodge/Item/AimStance.hs
T
2025-06-05 10:34:02 +01:00

60 lines
1.6 KiB
Haskell

{-# LANGUAGE LambdaCase #-}
module Dodge.Item.AimStance (aStance) where
import Dodge.Data.Item
--import Dodge.Data.ComposedItem
--import Dodge.Data.DoubleTree
import Control.Lens
import Dodge.Data.AimStance
--aStance :: LocationLDT ItemLink ComposedItem -> AimStance
--aStance loc = case loc ^. locLDT . ldtValue . _1 . itType of
aStance :: Item -> AimStance
aStance itm = case itm ^. itType of
HELD hit -> heldAimStance hit
_ -> OneHand
heldAimStance :: HeldItemType -> AimStance
heldAimStance = \case
BANGSTICK{} -> OneHand
REWINDER -> OneHand
TIMESTOPPER -> OneHand
TIMESCROLLER -> OneHand
PISTOL -> OneHand
MACHINEPISTOL -> OneHand
AUTOPISTOL -> OneHand
SMG -> TwoHandUnder
BANGCONE -> OneHand
BLUNDERBUSS -> TwoHandUnder
GRAPECANNON{} -> TwoHandUnder
MINIGUNX{} -> TwoHandUnder
VOLLEYGUN{} -> TwoHandFlat
RIFLE -> TwoHandUnder
ALTERIFLE -> TwoHandUnder
AUTORIFLE -> TwoHandUnder
BURSTRIFLE -> TwoHandUnder
BANGROD -> TwoHandUnder
ELEPHANTGUN -> TwoHandUnder
AMR -> TwoHandUnder
AUTOAMR -> TwoHandUnder
SNIPERRIFLE -> TwoHandUnder
FLAMESPITTER -> OneHand
FLAMETHROWER -> TwoHandUnder
FLAMETORRENT -> TwoHandUnder
FLAMEWALL -> TwoHandUnder
BLOWTORCH -> TwoHandUnder
SPARKGUN -> TwoHandFlat
TESLAGUN -> TwoHandFlat
LASER -> TwoHandFlat
TRACTORGUN -> TwoHandUnder
RLAUNCHER -> TwoHandOver
RLAUNCHERX{} -> TwoHandOver
GLAUNCHER -> TwoHandUnder
POISONSPRAYER -> TwoHandUnder
SHATTERGUN -> TwoHandUnder
TORCH -> OneHand
FLATSHIELD -> TwoHandFlat
KEYCARD {} -> OneHand
BLINKER -> OneHand
BLINKERUNSAFE -> OneHand