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