Tweak parameters on bezier gun, abstract out random accuracy direction
This commit is contained in:
@@ -9,10 +9,10 @@ import qualified Data.IntMap as IM
|
||||
import Control.Lens
|
||||
import Data.Maybe (fromMaybe)
|
||||
|
||||
useItemContinuous :: Int -> World -> World
|
||||
useItemContinuous n w = case (_crInv cr IM.! _crInvSel cr) ^? itHammer of
|
||||
Just HammerUp -> useItem1 n $ setHammerDown w
|
||||
Just NoHammer -> useItem1 n w
|
||||
useItem :: Int -> World -> World
|
||||
useItem n w = case (_crInv cr IM.! _crInvSel cr) ^? itHammer of
|
||||
Just HammerUp -> equippedItemEffect n $ setHammerDown w
|
||||
Just NoHammer -> equippedItemEffect n w
|
||||
_ -> setHammerDown w
|
||||
where
|
||||
cr = _creatures w IM.! n
|
||||
@@ -20,16 +20,16 @@ useItemContinuous n w = case (_crInv cr IM.! _crInvSel cr) ^? itHammer of
|
||||
|
||||
tryUseItem :: Int -> World -> World
|
||||
tryUseItem cid w = case w ^? creatures . ix cid of
|
||||
Just cr -> useItem2 cid (_crInv cr IM.! _crInvSel cr) w
|
||||
Just cr -> itemEffect cid (_crInv cr IM.! _crInvSel cr) w
|
||||
Nothing -> w
|
||||
|
||||
useItem1 :: Int -> World -> World
|
||||
useItem1 n w = useItem2 n it w
|
||||
equippedItemEffect :: Int -> World -> World
|
||||
equippedItemEffect n w = itemEffect n it w
|
||||
where c = (_creatures w IM.! n)
|
||||
it = _crInv c IM.! _crInvSel c
|
||||
|
||||
useItem2 :: Int -> Item -> World -> World
|
||||
useItem2 n (Consumable {_cnEffect=eff }) w = fromMaybe w $ fmap (rmInvItem n) $ eff n w
|
||||
useItem2 n (Weapon {_wpFire=eff}) w = eff n w
|
||||
useItem2 n (Throwable {_twFire = eff}) w = eff n w
|
||||
useItem2 _ _ w = w
|
||||
itemEffect :: Int -> Item -> World -> World
|
||||
itemEffect n (Consumable {_cnEffect=eff }) w = fromMaybe w $ fmap (rmInvItem n) $ eff n w
|
||||
itemEffect n (Weapon {_wpFire=eff}) w = eff n w
|
||||
itemEffect n (Throwable {_twFire = eff}) w = eff n w
|
||||
itemEffect _ _ w = w
|
||||
|
||||
Reference in New Issue
Block a user