Add file
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
|
||||
module Dodge.BaseTriggerType (
|
||||
baseTriggerType,
|
||||
module Dodge.Data.TriggerType,
|
||||
) where
|
||||
|
||||
import Control.Lens
|
||||
import Dodge.Data.Item
|
||||
import Dodge.Data.TriggerType
|
||||
|
||||
baseTriggerType :: Item -> TriggerType
|
||||
baseTriggerType itm = case itm ^. itType of
|
||||
HELD hit -> heldTriggerType hit
|
||||
_ -> NoTrigger
|
||||
|
||||
heldTriggerType :: HeldItemType -> TriggerType
|
||||
heldTriggerType = \case
|
||||
BANGSTICK{} -> HammerTrigger
|
||||
REWINDER -> HammerTrigger
|
||||
TIMESTOPPER -> HammerTrigger
|
||||
TIMESCROLLER -> HammerTrigger
|
||||
PISTOL -> HammerTrigger
|
||||
MACHINEPISTOL -> AutoTrigger
|
||||
AUTOPISTOL -> AutoTrigger
|
||||
SMG -> AutoTrigger
|
||||
BANGCONE -> HammerTrigger
|
||||
BLUNDERBUSS -> HammerTrigger
|
||||
GRAPECANNON{} -> HammerTrigger
|
||||
MINIGUNX{} -> AutoTrigger
|
||||
VOLLEYGUN i -> BurstTrigger [1 .. i-1]
|
||||
RIFLE -> HammerTrigger
|
||||
ALTERIFLE -> HammerTrigger
|
||||
AUTORIFLE -> AutoTrigger
|
||||
BURSTRIFLE -> BurstTrigger [3,6]
|
||||
BANGROD -> HammerTrigger
|
||||
ELEPHANTGUN -> HammerTrigger
|
||||
AMR -> HammerTrigger
|
||||
AUTOAMR -> AutoTrigger
|
||||
SNIPERRIFLE -> HammerTrigger
|
||||
FLAMESPITTER -> BurstTrigger [1..9]
|
||||
FLAMETHROWER -> AutoTrigger
|
||||
FLAMETORRENT -> AutoTrigger
|
||||
FLAMEWALL -> AutoTrigger
|
||||
BLOWTORCH -> AutoTrigger
|
||||
SPARKGUN -> AutoTrigger
|
||||
TESLAGUN -> AutoTrigger
|
||||
LASER -> AutoTrigger
|
||||
TRACTORGUN -> AutoTrigger
|
||||
RLAUNCHER -> HammerTrigger
|
||||
RLAUNCHERX{} -> HammerTrigger
|
||||
GLAUNCHER -> HammerTrigger
|
||||
POISONSPRAYER -> AutoTrigger
|
||||
SHATTERGUN -> HammerTrigger
|
||||
TORCH -> AutoTrigger
|
||||
FLATSHIELD -> NoTrigger
|
||||
KEYCARD{} -> NoTrigger
|
||||
BLINKER -> AlwaysSingleTrigger
|
||||
BLINKERUNSAFE -> AlwaysSingleTrigger
|
||||
@@ -0,0 +1,17 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
--{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.TriggerType where
|
||||
|
||||
--import Data.Aeson
|
||||
--import Data.Aeson.TH
|
||||
|
||||
data TriggerType
|
||||
= AutoTrigger
|
||||
| HammerTrigger
|
||||
| NoTrigger
|
||||
| AlwaysSingleTrigger
|
||||
| BurstTrigger [Int]
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
--deriveJSON defaultOptions ''TriggerType
|
||||
@@ -0,0 +1,59 @@
|
||||
{-# 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
|
||||
Reference in New Issue
Block a user